Frappe Technologies
Screenshot 2023-10-25 at 10.48.41 PM.png
Product Updates for May 2025
A rainstorm of features 🌧
author

By

Jannat Patel

Ā·

28 May 2025

Ā·

12

min read

May is usually the hottest month of the year in India, but this May felt like June. Monsoon arrived early breaking a 107 year old record.

While it was pouring outside, inside it was raining features at Frappe. Our Engineers sat cozily in their corners sipping chai / black coffee ā˜•ļø, finding peace in code.

Here are the updates from May...


Table of Contents

  1. Framework
  2. ERPNext
  3. Frappe HR
  4. Frappe Cloud
  5. Learning
  6. Insights
  7. Helpdesk
  8. CRM
  9. Builder
  10. Gameplan
  11. Drive
  12. Studio

Expandable Report Filters

When reports have many filters, they can take up significant screen space. To improve usability, an expand/collapse option has been added for report filters. This allows users to manage screen space more effectively. This feature has been merged in the develop branch and will be available in version 16. (Pull Request)

Contributed by: Soham

Quick Entry Popup Now Supported for Quicklist and Shortcuts

Document creation from Quicklist items and shortcuts has been improved to support the Quick Entry pop-up. Previously, these actions would open the full form view, requiring users to navigate away from the current screen. With this enhancement, the Quick Entry pop-up now appears in place, allowing users to create records faster without leaving the current context, making the experience more seamless and consistent. This feature has been merged in the develop branch and will be available in version 16.

Contributed By: Maasanto

Duplicate Multiple Child Table Rows with One Click

Previously, duplicating child table rows in Frappe was limited to one row at a time. This enhancement introduces the ability to select multiple rows using checkboxes and duplicate them all at once. It streamlines data entry and makes managing large child tables much faster and more efficient. This feature has been merged in the develop branch and will be available in version 16. (Pull Request)

Contributed By: Vengadesh

Background Color Support Added to Number Cards

Number Cards in Frappe now support background colors! A new setting has been added that allows users to customize the background color of each card. This makes dashboards more visually distinct and helps highlight key metrics more effectively. This feature has been merged in the develop branch and will be available in version 16. (Pull Request)

Contributed By: Shreyas

Ejaaz Khan Engineer

Zero Quantity Items in Transactions

ERPNext now allows '0' quantity items in Quotation, Request for Quotation, Supplier Quotation, Sales Order, and Purchase Order. This feature is useful for scenarios where the rate is decided but the quantity is not at the time of sale.

Contributed by: Marica

Miscellaneous Improvements

  1. Algeria Chart of Accounts is now available in ERPNext. Contributed by: Half Ware

  1. The Accounts Receivable / Payable report is refactored to use less memory while handling large data. This can be configured in Accounts Settings.

  1. Accumulate Values in the Profit and Loss statement wasn't working. It has now been fixed. Contributed by: Lakshit Jain

  2. If an advance payment is in a closed fiscal year and reconciliation is configured to happen on the advance payment, the system did not allow this. It has now been fixed too. Contributed by: Bhavansathru

  3. The Sales Analytics report will ignore opening entries from now. Contributed By: Logesh

Ruthra Kumar Engineer

Stock Reservation for Production Plan

Users can reserve raw materials and sub-assembly items against the production plan. Raw materials that have been procured or sub-assembly items that have been manufactured against the production plan will also be reserved for the respective production plan. This feature has been merged in the develop branch and will be available in version 16.

Set Valuation Rate for Rejected Materials

For rejected materials, the valuation rate is set to zero, and no accounting ledger entry is created for them in the Purchase Receipt. To apply a valuation rate and generate accounting entries for rejected materials, enable the Set Valuation Rate for Rejected Materials option in Buying Settings. This feature has merged into the develop branch and will be available in version 16.

Enforce Time Logs for Job Card

Manufacturing settings now include an option to enforce time logs for Job Cards. When enabled, users must enter both From Time and To Time for each Job Card time log.

Rohit Waghchaure Senior Software Developer

Configure Tax Relief or Rebate Limits in Income Tax Slab

A new field, Taxable Income Relief Threshold, has been added to the Income Tax Slab doctype to configure the maximum annual taxable income eligible for full tax relief. No taxes configured via slabs are applied if the taxable income is less than this amount.

Even if this isn't set, slab-specific conditions, if any (eg, annualtaxableincome > X) will be applied

Regional change - India

  • Marginal Relief Income Threshold field to account for marginal tax relief under Section 87A.
  • Users can configure Taxable Income Relief Threshold and Marginal Relief Income Threshold, and if taxable income is between the tax relief limit and marginal relief limit, and tax payable on income is more than income excess over tax relief cap, then tax payable is reduced to just the excess income.

Bug Fixes

  1. When the employee relieving date and the salary slip start date are the same, the system now returns the correct number of payroll sub-periods. (Pull Request)

  2. Tax amount calculation for slabs under Other Taxes and Charges was not working correctly. It has now been fixed. (Pull Request)

Aysha Engineer

Redesigned Signup flow

We've completely redesigned our signup flow to make it even simpler and quicker for you to get started. We focused on clarity and ease of use, so you'll find a smoother, more intuitive process that gets you up and running in no time.

Muhammed Suhail Engineer

Support for Multiple Zoom Accounts

Previously, the system allowed only one Zoom account to be connected. This was sufficient for smaller setups, but it created limitations for organizations running multiple training sessions simultaneously.

You can now connect multiple Zoom accounts to the system. Each Zoom account can be assigned to a batch, and when a live class is created for that batch, it will automatically use the designated account. This allows parallel sessions to be scheduled without conflicts.

Zoom Configuration via Frontend

Previously, managing Zoom settings required navigating to the Desk, which wasn't always intuitive.

Zoom settings are now available through the frontend via the settings modal. From here, users with the appropriate permissions can add new Zoom accounts or update existing ones. This ensures that you can set up your Zoom account without leaving the learning interface.

Zoom Attendance Tracking

Previously, the app did not allow users to check the attendance of Zoom live classes. Admins had to log into Zoom separately to download reports or check attendance manually.

The system now records attendance automatically for Zoom live classes. You can navigate to your batch, click on the class whose attendance you want to check, and the modal that opens will show you all the students who attended the class.

Attendance is recorded through a scheduled job that runs every hour. This job only fetches attendance for past classes, which means that the class should have ended for the attendance to be fetched. Also, make sure that you have a Zoom Pro account, as attendance tracking is not available for free accounts.

Email Template Management from the Frontend

Email templates help you send crafted emails for various scenarios. Previously, new email templates could only be created through the Desk.

Email templates can now be created and updated directly through the settings modal. You can create email templates for scenarios such as batch confirmation, certificate announcement, etc.

Jannat Patel Product Engineer

Copy-Paste Workbook, Query and Chart

You can now copy the JSON of a workbook, query, or chart and paste it (just like in the desk) to duplicate it along with its dependencies. You can find this option in the 3-dot menu of the respective item. This feature allows you to quickly duplicate your work without recreating everything from scratch.

Drill-down on Pivot Table

Drill-downs on pivot tables now work correctly. Previously, they didn't function as expected because pivoting moves actual values into columns, which are necessary to apply the correct filters to query the underlying rows. A new logic has been implemented to extract these values from the columns and apply the correct filter.

Fixes & Improvements

  • Fixed creation of the "uploads" data source, which was breaking when trying to upload the first CSV file
  • Added the ability to configure the maximum split values in line/bar charts
  • In table charts (v2), you can now configure the aggregation for the total row
  • Removed the implicit total that was added in the funnel chart
Saqib Ansari Product Engineer

Onboarding flow

Frappe Helpdesk now includes an Onboarding feature to help Administrators & Agent Managers get started quickly. It provides step-by-step guidance to understand the system, making the learning process smoother. Users have full control over onboarding steps—they can skip, skip all, reset, or reset all at any time. Even after completing onboarding, users can reset the steps if they need a refresher.

Help Centre

The new Help Centre feature brings Helpdesk-related articles directly into the system, offering quick access to documentation. It includes a basic search feature to find relevant topics easily. Clicking on an article redirects users to the full documentation, ensuring they have all the information they need to navigate Frappe Helpdesk effectively.

Email Threading

Since the beginning, one key thing missing in Helpdesk was proper email threading. Whenever a customer raised a ticket via email, every agent's reply used to come as a separate email. This often broke the flow and made it hard for customers to keep track of the conversation. Now, with email threading, replies come in the same thread—so the entire context stays in one place, and customers don’t have to dig through multiple emails to figure out what’s going on.

New look for Teams & Agents

For the longest time, Agents and Teams were tucked away in the sidebar with a basic list view and a less-than-ideal design. It wasn’t the most intuitive setup, so we decided to move this master data to the Settings section.

Why? Because it makes everything cleaner and more organized. The sidebar is now much simpler and easier to navigate, and the new UI comes with some new functionality.

Agents:

You can now activate or deactivate an agent directly from the UI. Set roles with ease—assign someone as an Agent or an Agent Manager right from the same screen.

image

Teams:

Managing teams is now way simpler with a cleaner layout. You can add or remove team members, edit team details, or delete a team.

This change not only cleans up the sidebar but also makes managing agents and teams feel a lot simpler.

Ritvik Sardana Engineer

Class-Based Client Script – v1

Frappe CRM now has a modern, class-based syntax for Client Scripts that makes scripting more intuitive, powerful, and JavaScript-friendly. It supports on-field triggers, cleaner communication between parent-child tables, and global helper functions like toast, createDialog, and more.

class CRMDeal {
  category() {
    this.doc.primary_category = this.doc.category === 'A' ? 'C' : 'D';
    this.doc.trigger('primary_category');
  }
}

šŸ”— Read the blog post

Product Listing in Leads & Deals

To track what products/services a lead is interested in, I added support for capturing quantity, rate, and amount in a child table. This was made possible by the new class-based scripting syntax. The feature is optional—just add the Products table to your Lead or Deal form if you need it.

UX Improvements for Invited Users

The onboarding experience has been enhanced with smarter step dependencies, dynamic filters, and better caching. Invited users now get more secure and limited access by default, and are prompted to set up their password right after logging in.

Shariq Ansari Product Engineer

Granular Background Properties

Now, Builder stores individual background properties such as backgroundImage, backgroundColor, backgroundPosition, and more for easier manipulation. We’ve also added improved controls for setting background image with more options.

Improved UX for Managing Redirects

We’ve removed many small annoyances to simplify the management of redirects. Improvements like alerts after successfully enabling a redirect, a search option to find existing redirects (especially helpful when you have many), and a fixed sorting order that shows the most recently added redirects at the top.

Searchable "Attach Script" Options

You can now search within the "Attach Script" options. Very helpful when you need to find that specific script among many.

Rename Option in Context Menu

Although renaming layers was previously possible by double-clicking on a layer, many users didn’t discover this feature. We’ve now added a Rename option to the context menu to make this functionality easier to find and help users keep their layers well-maintained.

Suraj Shetty Product Engineer

Rich Quoting

You can now select a piece of text and then click on ā€œReplyā€ and it will be quoted in the comment box. Previously, people used to do this by adding a blockquote. This feature adds the ablity to click on the quoted box to scroll back to original post or comment.

I started working on this feature on a livestream with BuildWithHussain: Building Cool TipTap Extensions

Revamped Spaces

  • The spaces page layout is now a grid instead of list for better ā€œspaceā€ management šŸ˜‰.
  • Shows the unread count per space and per category.
  • You can mark all as read per space and per category.
  • You can configure Spaces to be the default homepage.

Tags

You can now start typing #Ā and a tag list will show up. To create a new tag, just keep typing and select ā€œNew tagā€ option, and it will be created.

Text color and highlight color

Previously, text color and highlight color were using hardcoded hex values. The colors looked bad in dark mode. Now, it uses css variables, so it is easy to manage colors for dark mode as well as any future theme changes.

Before

After

Faris Ansari Principal Product Engineer

It’s been a slow month here at Drive, but the product has gained a few more features, a lot more polish, and the usual UI tweaks.

Share

The Share feature has been completely redone, allowing you to easily share your files with specific people, your team, or the world. Grid view is back! Along with it, you can drag and drop to move files about.

Keyboard Shortcuts

Keyboard shortcuts are now here, allowing you to move faster than ever. See the list by clicking ? on Drive.

UX Improvements

We want to build an experience like Mac’s Finder—but better. Smooth, aesthetic, and fast. In that direction, a lot of work went into making the product feel less ā€œflakyā€ - for example, folders are updated in the background when you move files, so you won’t get that ugly flickering.

Along similar lines, you don’t have to download nearly as many files. We have expanded our in-site previews, you can now view and interact with Office files within Drive (Google doesn’t have this!). We have a lot more thumbnails too - they are now generated for all text-based files, Office files, and PDFs, instead of just images and videos.

For our developers: bugs in S3 have been ironed out, and we have quite a few users, including our own frappe.io instance, running with our files in S3. You can now use it not just for Amazon’s service, but for any S3-compatible instance. Want a great frontend to your S3 backend? Get Drive now.

With actions added to file/folder views (instead of just the list view), more settings, and expanded filters, Drive is more feature-packed than ever. As always, drop in to Telegram (or email, if you’d prefer that) with your feedback or bug reports!

Safwan Samsudeen Trainee Engineer

This month mostly went into fixing and improving frappe-ui to make editing components easier in Studio:

  • Studio generates prop editing UI on the right sidebar based on prop type definitions from frappe-ui components. A frappe-ui code structure cleanup now enables Studio to generate JSON schemas for more component types and render better UI interfaces. (Pull Request)

  • FormControl now has the explicit modelValue prop to wire values. (Pull Request)

  • Applying direct styles to components like ListView, FormControl was not working earlier. You had to wrap them in containers to do so.

    These components had inheritAttrs: false so raw styles didn’t propogate. Styles are now explicitly bound to the correct root element of these components. (Pull Request)

Other fixes:

Rucha Mahabal Engineering Lead

And that's it šŸ‘‹

There will be a major announcement from the team this evening so stay tuned on all our social channels 🤫.

PS: We have started publishing the talks from Frappe Build on our YouTube channel. You can find the playlist here.

Published by

Jannat Patel

on

28 May 2025
0

Share

Add your comment

Success!

Error

Comments

No comments, yet.

Discussion

image7f7d4e.png

Paul Mugambi

Ā·

3 days

ago

Beautiful read, and an insight into an individual I respect and have learned a lot from. Am inspired to trust the process and never give up.

image4c43d6.png

Anna Dane

Ā·

5 days

ago

I must say this is a really amazing post, and for some of my friends who provide Best British Assignment Help, I must recommend this post to them.

Add your comment

Comment