Frappe Technologies
Screenshot 2023-10-25 at 10.48.41 PM.png
Product Updates for January 2025
New year with new updates.
author

By

Jannat Patel

·

30 January 2025

·

12

min read

Here we are almost at the end of the very first month of 2025. While some on the internet are claiming that this January has been going on for 6 months, it felt like a breeze to me. How are we already in 2025 when 2020 was just a few months ago? I guess people weren’t lying when they said that time flies.

Back to January: It was a busy month for the team, the highlight of which was our quarterly review. We do this at the beginning of every new quarter, where every member writes down their current thoughts, the progress they made last quarter, the value their efforts added, and how conscious they were about the quality of it all. We then brainstormed with a few of our teammates and mentors to get feedback and make plans for the coming quarter.

This activity kept all of us engineers busy for a few days. The rest of the days, here is what we did…

Table of Content

  1. ERPNext
  2. Frappe HR
  3. Frappe Cloud
  4. Learning
  5. Helpdesk
  6. CRM
  7. Builder
  8. Gameplan
  9. Drive
  10. Gantt

Country Specific Chart of Accounts

ERPNext now has a Switzerland specific Chart of Accounts.

swiss.png

SYSCOHADA (Accounting System used by 17 African countries) compliant Chart of Accounts is also available.

ohada.png

More Configurable Reconciliation

Reconciliation of Advance Payments can now be configured to take effect on the date of reconciliation.

upd_adv.png

Process Payment Reconciliation - a semi-auto tool used to reconcile large volumes of unreconciled documents, can now be configured to run in different time intervals.

upd_semi.png

Miscellaneous

There are now company-level validations to prevent incorrect usage of dimensions across companies.

Ruthra Kumar Engineer

Add Corrective Operation Cost in Finished Good Valuation

The operating cost of corrective job cards will now be added to the additional costs table of Manufacture Stock Entry.

Newly created corrective job cards will now have a raw materials table pre-filled based on the job card it is being created from.

Validate Components and Qty as per BOM

If "Backflush Raw Materials Based On" is BOM, then users can validate components and component quantity according to BOM. To do that they have to enable the "Validate Components Quantities Per BOM" checkbox in the "Manufacturing Settings".

Stock Reservation for Work Order

The stock reservation for work orders, with support for serial and batch reservation, has been added to the develop branch and will be released in version 16. For more details check the documentation here.

Fix Negative Stock for Batch

If you have a negative stock for the batch, you can fix it by using stock reconciliation to adjust the batch quantity to zero.

Rohit Waghchaure Senior Software Developer

Accurate Advance Claims

Advances that are already scheduled for salary deduction will no longer be included when creating claims against advances. This ensures that employees can only claim the amount that is actually available, preventing any miscalculations in advance allocations.

Screenshot 2025-01-30 at 12.12.05 AM.png

Gratuity

  1. Accurate Calculation: When "Calculate Gratuity Amount Based On" is set to "Sum of all previous slabs", employees with experience matching the upper limit of a slab will now correctly receive the applicable Gratuity Rule Slabs, ensuring accurate gratuity calculations.
  2. Settlement via FnF: Gratuity status is automatically updated when settled via Full & Final Settlement.

    double2.gif

Employee loan repayment

Pending loan repayments can be now settled through Full & Final Settlement upon an employee’s exit, creating repayment entries during F&F submission.

loan

Salary Calculation

Salary slips now support timesheet-based calculations alongside payment days. Salary slips can now combine both payment days and timesheet-based calculations, allowing more flexibility, especially when timesheets are used to track overtime.

Aysha Engineer

Prevent Self Leave Approval

Sometimes users who have leave approval role should not able to approve their own leaves. For this, a new HR settings is introduced that will prevent users with leave approval roles from approving their own leaves.

Minor Fixes

  • If shift time configurations are changed while there still unmarked checkin logs, the newer logs inherit updated configuration while older logs will still have outdated shift times, which sometimes results in creating incorrect attendance records. Fetch shift in this case wouldn’t fetch new shift details, this is now fixed

  • Attendance now will be marked on absent dates for default shift if another shift assignments exists. Know More
  • Show appropriate alert if no shift is found on fetch shift. Know More
Asmita Hase Engineer

Database Analyzer

We have added a new developer tool that quickly analyzes your database, giving you a quick overview of your site's database performance and potential issues.

Screenshot 2025-01-29 at 4.44.50 PM.png

Key features:

  • Displays detailed storage usage for all table data and indexes in your database, helping you understand space utilization.
  • Show the active database processes, with the ability to terminate them when necessary.
  • Identifies problematic SQL queries by highlighting:
    • Slow queries
    • Most time-consuming queries
    • Queries doing a full table scan
  • Provides index optimization by:
    • Suggesting new indexes based on slow query logs
    • Detecting unused or redundant indexes
Tanmoy Sarkar Engineer

Assignments are now a First Class Feature

Assignments as a feature were not as discoverable as before. Students were able to submit the assignment from the portal, but to add a new assignment, instructors had to go to the desk. With time, many of you started using this feature, and so I decided to make it first class.

Admins can now create or edit assignments right from the portal. They can also check and grade all the submissions. When you grade the assignment, the student will also receive a notification informing them that there has been an update in their submission.

Previously assignments could only be added to batches. You can now add them to the lessons of your course. For such lessons, a student will have to submit the assignment to complete the course.

Students Progress as a Heatmap

Many platforms show you a heatmap based on the activities you did each day. The purpose is to show you a pattern but it sometimes ends up being what motivates you to be consistent. GitHub does them well.

Students will now see a heatmap on the batches page that will be based on all the activities they did in the last 30 weeks. These activities include completing a lesson, submitting a quiz, or submitting an assignment. Instructors can see the same heatmap for each student of the batch from the student progress dialog.

Heatmap

Feedback for Batches

Feedback helps instructors improve and perform better next time. Students can now directly share their feedback from the batch page. They can share their feedback based on three parameters: Content, Instructors, and Value. If they have a very specific feedback to give, they can type the same in the Feedback field given.

Students Feedback Instructors see a list of feedback received along with the student's name. At the top of the list, they see the average rating received for each parameter for the batch.

Instructors View

Improvements to the Batch List

The Batches feature was introduced to the app around 1.5 years ago. Initially, when there were fewer batches the page worked well. But now with an increase in the number of batches, the page felt slow. To fix this, the entire page was refactored.

The page by default shows the first twenty upcoming pages, you can load more if you want to see them. You can switch tabs to see the enrolled or archived batches based on the role you have. You can also filter the list based on the title and category of the batch.

Jannat Patel Product Engineer

Knowledge Base refactor

I have been refactoring helpdesk for almost 4 months now, this month I decided to refactor the Knowledge Base. After the refactor, the design and structure of the Knowledge base for both agent and customer portal has been changed.

Agent Knowledge Base

The agent side of the Knowledge Base is focused on simplifying working with articles and categories. Here is a list of features:

  1. No subcategories, only one level of nesting which is Category => Articles.
  2. Create articles without setting any category. Articles created without any category go to the "General" category.
  3. Create, Read, Update or Delete an Article or a Category.
  4. On deletion of a category, all the articles from that category will move to the "General" category.
  5. Move articles from one category to another. (Note each category must have at least one article, to remove a category delete the category first and then move the articles from that)
  6. Merge Categories: if you want to merge 2 categories, click on the merge button and select the destination category. The source category will be deleted and all the articles from the source category will move to the target category.
  7. Copy public links for Articles & Categories for sharing the categories or articles to your customers.
  8. Bulk Actions: Bulk actions to move articles to a category & delete articles.

Customer Knowledge Base

The customer side of the Knowledge Base is focused on finding the relevant articles quickly and having easy navigation to find the articles with ease. Easily search articles through our Redis search powered search system.

Better Ticket Comments

Now, you can effortlessly attach files to your comments, making it simpler to share important information and context. Plus, with the option to edit your comments, you can quickly make adjustments or clarify your thoughts, ensuring that your communication is always clear and accurate.

Ritvik Sardana Engineer

Columns in Field Layout

While I was implementing the Grid Row layout using the field layout component I realised I was rendering columns as a grid (display: grid) and because of that there were many issues,

  1. I cannot have 4 fields in one column and 2 in the second column, because of the grid it gets equally arranged.
  2. All the fields take the same height, so if one column has Data → Check → Time field, the checkbox field’s height is the same as the data field’s height which doesn’t look good.

image.png

So I had to change the JSON structure of how the fields are arranged. And used flex to render columns similar to desk form layout.

Before:

[
  {
    label: 'Details',
    sections: [
      {
        columns: 2,
        fields: ['salutation', 'first_name', 'last_name', 'email', 'mobile_no'],
      },
      { columns: 1, fields: ['status', 'lead_owner'] },
    ],
  },
]

After:

[
  {
    label: 'Details',
    sections: [
      {
        columns: [
          { fields: ['salutation', 'first_name', 'last_name'] },
          { fields: ['email', 'mobile_no'] },
        ],
      },
      { columns: [{ fields: ['status', 'lead_owner'] }] },
    ],
  },
]

image.png

Exotel Integration

We already have a Twilio Integration to make and receive calls in Frappe CRM, so why do we need another calling integration?

Twilio does not support calls from Indian numbers, which is a problem because Indian customers mostly ignore calls from international numbers. That’s why we needed Exotel Integration. Many in the community had also requested it.

image.png

image.png

Manually log calls

While testing Exotel Integration with Asif Mulani & Parth Garachh (Sales team members). Parth wanted to log some more details after the call has ended like what type of call was it (business related). Call log modal was designed to show specific fields only.

Screenshot 2025-01-29 at 11.46.42 AM.png

I extended the custom fields feature to call logs to solve this problem. Now you can add custom fields in the call log modal.

While implementing this why not allow manually log calls. I did receive a feature request for this. So now you can manually add call logs. Sometimes we get call directly from some customer for unknown reason which does get logged automatically to solve that problem implemented this.

Screenshot 2025-01-29 at 12.16.44 PM.png

Add/Edit note & task

We already had the feature to edit the note which was taken while agent was in the call. But there was no way to add note after the call has ended. So now I have added option to Add/Edit note as well as task in the call log modal

Screenshot 2025-01-29 at 12.19.37 PM.png

Shariq Ansari Product Engineer

Frappe Builder continued to receive several stability and UX fixes to ensure every action works as expected. From refining small interactions like the radius handler to fixing the rendering of complex nested components, here are some key improvements that will enhance your usage experience:

Revert Changes

A crucial new feature, the "Revert Changes" option lets you roll back all changes to your last published state. Plus, the Unpublish button is now easier to access.

Preventing Accidental Loss of Code Changes

We received a couple of complaints about users accidentally losing code changes due to a refresh. Now, the editor will warn users about unsaved changes before refreshing to prevent this.

Unsaved Changes Indicator

A small dot indicator in the code editor now shows when there are unsaved changes.

Screenshot 2025-01-29 at 9.46.41 PM.png

Other UX Fixes

  • Page previews now update correctly after publishing.
  • Annoying dialogs no longer linger after navigating away. 😅
  • Cut & Paste is here A small but much-needed feature—cut and paste is finally available!

Additionally, we’ve made some performance improvements, reducing scripting overhead for a faster and smoother editor load.

Check out the latest release changelog for more details!

Suraj Shetty Product Engineer

1. Spaces

The structure of Teams and Projects felt too rigid. Everything was tied to a “Project,” but in the real world, not everything fits neatly into that box. Over the past two years of using Gameplan, we’ve often created “Projects” just to have a place to discuss random things.

Spaces are more open-ended and flexible, aligning better with how we actually use Gameplan.

You can browse public Spaces and join the ones that are relevant to you. From the Spaces page, you can view public, private, and archived Spaces. You can also rename, edit, merge, or categorize them.

To make navigation simpler, we’ve removed the Overview pages from Teams and Projects. These pages didn’t feel natural, didn’t add much value, and only created friction.

2. Sidebar

With the simplification of Spaces, your sidebar now only shows the Spaces you’ve joined, making it cleaner and more focused.

3. Home Feed

The Home Feed now has three tabs:

  • Following: Discussions from Spaces you follow.
  • Participating: Discussions you’ve created or participated in.
  • All: Discussions from all public Spaces.

The feed remembers the last tab you were on, even after a refresh.

4. Discussions

  • You can now see a content preview of the last post, whether it’s a comment or a poll.
  • Pinned discussions appear at the top, unaffected by pagination.
  • Several UX improvements, including:
    • Better handling of “scroll to last unread comment” when opening a discussion.
    • A “scroll to top” button on desktop.
    • On mobile, tapping the title now scrolls to the top.
  • You can now delete both comments and posts entirely (no soft deletion).

5. People

  • UI spacing fixes and cleanup in the People and Profile pages.
  • Bookmarks tab only shows up for your profile.

6. Pages

  • Full-screen layout treatment for Pages.
  • Auto save page content as you keep writing.
  • Titles now appear at the bottom of the page card, with better handling for long titles.

7. Command Palette

  • The first item stays focused as you type.
  • Improved focus management.
  • You can now create discussions, tasks, or pages directly.
  • Shortcut hints are displayed.

8. Under the Hood changes

  • Most components have been migrated to TypeScript. While I’m still learning, there’s some work to do in cleaning up the “red squigglies” and improving TypeScript code quality over time.
  • The data layer has been completely refactored to use new data-fetching utilities: Frappe UI Data Fetching.
  • Gameplan now uses API v2.

Note: The Spaces feature isn’t merged yet. If you’d like to test it, pull the feat-spaces branch.

Gameplan is all about writing and discussions, and we hope these updates keep the focus while reducing clutter and unnecessary friction ✌🏼

Faris Ansari Principal Product Engineer

We’re working on launching Drive in v1 by the end of February. This will be a total revamp. This month, support has been added for “teams”. You no longer have to share every file with your teammates - now, you and your team can have a shared common folder, with fine-grained access in your control.

We've also solved many other minor UX issues and added two notable features: keyboard shortcuts and bulk actions on files. The list view has also been significantly improved, with more information and improved responsiveness.

image.png

Note: these features aren’t merged yet. If you’d like to test them, pull the v0.1 branch.

Safwan Samsudeen Trainee Engineer

Gantt v1 was finally released this month - read more about it here.

And thats it 👋

That was all the team did in January. Next week is Frappeverse Africa 2025, and some of our teammates will be in Nairobi for a few days. Right before the conference, we are conducting a crash course on Frappe Framework and Frappe HR. Do register if you haven't already ✌️. See you next month!

Published by

Jannat Patel

on

30 January 2025
1

Share

Add your comment

Success!

Error

Comments

P
Peer

· 

January 30, 2025

I like this monthly and diversified (several engineers / projects and their respective styles) format of the updates. Beautiful and inspiring. Also, I wish all voyagers a good journey with lots of joy, success and profound contacts and insights, all the best to all who make that happen.

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