We are about to step into the new year. It is very customary for people to make plans and resolutions each new year. It is usually something that people know they must do because it will benefit them, but don't for some silly reason.
This was the case for many Product Engineers at Frappe. Most of us sat with our code editors open all day long, adding features and fixes, putting out fires, thinking we were doing our job well.
We weren't.
Adding features and fixes to products that no one knows about is work half done. This topic has come up multiple times in our team discussions on how the Engineering team should write better documentation, make videos, and write more blogs.
Finally, on the last day of 2024, by some miracle or God's grace (:cough: Rushabh's ranting), the Engineering team at Frappe decided to start a monthly blog series where we will share all the updates of our apps from the previous month. I'm not sure if we should call this our New Year's resolution, but ending the year with something new feels satisfying.
Table of Content
Statement of Accounts
Process Statement of Accounts is a tool that allows users to send General Ledger or Receivable/Payable ageing reports in bulk via email. It now supports multiple carbon copy (CC) recipients.
Additional Provision In Advance section
‘Advance’ Section in Sales/Purchase Invoice now has a provision to select the posting date for Exchange Gain/Loss incurred due to the exchange rate difference between Invoices and Payments.
Common Party Accounting
ERPNext now supports Common Party accounting to be done on foreign currencies.
More Flexible
ERPNext now allows multiple Subcontracting orders against a single Purchase Order. See Documentation.
Material Request
Material Request whose purpose is set to ‘Subcontracting’ can now be used to make Subcontracting Purchase Orders. See Documentation.
Faster Stock Creation
For Items that have Serial and Batch bundle enabled, stock entry submission is 2.08x faster
Track Company-wide Item Stock
Quotation, Sales Order & Invoice, and Delivery Note can now have information on company-wide stock balance for individual items.
Apart from these, 30+ GitHub issues were closed in December for ERPNext which includes bug fixes, permission updates, and other minor changes.
Allow Login Using Oauth
Users can now log in using Oauth, giving them convenient and secure access to their accounts. Just set a Social Login Key and you’re good to go.
Roster Enhancements
You can now create reusable Shift Schedules for repeating shifts and assign it to employees via roster/shift tools.
You can also bulk assign shift schedules using the Shift Assignment Tool, tag and select the Shift Location in filters for roster and shift tools.
For details, check out the documentation.
Minor Updates
- You can now make Attendance Requests for Future Dates
- The system now allows you to update Cost Centre and Project even after submitting an Expense Claim
- HR Managers can now set From Date while manually allocating extra leaves and notify the employees on successful allocation
Database Users & Permission Manager
You can now create multiple database users with granular-level permissions for your hosted site on Frappe Cloud.
You can connect your preferred analytics tools (like Frappe Insights, Power BI, and Looker Studio) directly to your site's database.
At the same time, you can customize column-level access permissions for specific teams, ensuring each team only sees the data they need.
For more details, check out the documentation
Monitor Your Database Performance with Advanced Analytics
For Frappe Cloud dedicated server users, you now get enhanced database analytics to detect issues earlier.
Log Browser
Access your site and bench logs from Dashboard > DevTools > Log Browser.
Select your site or bench, then choose a log file. Filter, sort, and search to navigate logs effortlessly.
Bulk Certificates
You may have as many students as you want in your batches. Sometimes it may be a big crowd. Individually creating certificates for all of them may be a tedious task.
Now, you can create the certificates of all batch students using just a single button. On the header of each batch, you will now see a Generate Certificate button. Clicking on the button opens up a dialog that asks you some necessary details for the certificate. On submitting, certificates for all the students of the batch are generated.
Markdown in Lessons
People who are well versed with markdown find it easy to use it for content creation. And so we decided to support the same in our lesson editor. Course Creators who are well aware of markdown can now use the same to add content to their lesson.
Batch Dashboard
Students see a dashboard on the batch page that informs them about their upcoming evaluation and the assessments they have to complete.
We have now given a dashboard to Moderators too. On this dashboard, they will see some important highlights of the batch like the number of students, courses, and assessments.
Below this, they see a graph that shows the number of students who have completed the courses and assessments. This was added in an attempt to give better highlights to Moderators about their batches.
Heat Map in Table Chart
Pivot tables with a single value column can now have a color scale applied to them. The colors are automatically mapped based on the minimum and maximum values in the column.
There's a new helper function get_retention_data
for retention analysis. You can use this function to calculate retention metrics for a specified interval.
get_retention_data(date_column, id_column, "week")
This function needs to be used in the "Custom Operation" step and requires:
- A date column
- An ID column
- Time interval ("week", "month", or "year")
Role & User Permissions
Insights now integrate with the Frappe permission system. You can now apply role and user permissions defined in the Frappe permission system to the queries and dashboards created in Insights. It works with both v2 and v3 queries.
To enable this setting:
Ensure you are on v3.0.12 or above.
Go to the "Insights Settings" doctype.
Enable the "Apply User Permissions" checkbox.
We are continuously working to improve the performance of our Helpdesk, though there are no new features, the performance of the app is constantly improving. Here are some updates which resulted in better performance of Helpdesk.
Improved List View
We've brought consistency across all our pages by standardizing List Views throughout – whether you're looking at Tickets, Agents, Teams, Customers, or Contacts. Each page now features the same intuitive quick filters, advanced filtering options, and sorting capabilities. The best part? We've optimized performance significantly, reducing API calls by nearly 66%, and making everything run much smoother and faster.
Attachments
For a long time, the Helpdesk Agent Portal lacked support for various kinds of attachments while replying to the customer. Well, not anymore, you can now easily send all kinds of attachments like images, videos, excel sheets, and much more from the portal itself.
Dark Mode
CRM now supports Dark Mode, reducing eye strain and enhancing focus with a sleek, low-light-friendly interface.
Data Tab
The side panel allowed quick access to frequently used fields but had limitations like excessive scrolling and no support for child tables. The new Data Tab addresses these issues, offering a cleaner, more organized way to view and manage data efficiently.
Fields layout editor now allows adding tabs, so now Quick Entry Modal (e.g., New Lead modal) & Data Fields support tabs along with sections & columns
Child Table
The Data Tab and Quick Entry Modal (e.g., New Lead modal) now support adding child tables, streamlining data entry, and improving efficiency for complex records.
Timezone Support for Date & DateTime Fields
The CRM UI now supports timezones in the Date and Datetime fields, ensuring accurate and context-aware data display across different regions.
Field formatting
Date, Datetime, Currency, Float, and Percent fields now support system settings-based formatting, ensuring consistency across the desk and other interfaces.
CRM Settings
A dedicated Settings page is now available in the settings modal, enabling easy branding customization. You can update the Brand Name, Logo, and Favicon. Additionally, you can add custom links to the dropdown menu or edit/hide existing ones for a personalized experience.
After a long break, Faris is back and has resumed working on Gameplan.
Dark Mode
Gameplan now supports dark mode.
This update comes from adding dark mode support to our design system, Espresso. We use TailwindCSS for styling and have defined colors for both light and dark modes. A script helps update all Tailwind classes in your project to use semantic class names. This script covers about 60% of the work, while the rest requires manual adjustments.
If you’re using frappe-ui, here’s how you can add dark mode support to your project:
node ./node_modules/frappe-ui/src/tailwind/update-tailwind-classes.js ./frontend/src
Reactions UX on Mobile
On Desktop, you can see who reacted to your post by simply hovering over the reactions button. Since there’s no hover equivalent on mobile, we’ve introduced a popup menu. Now, when you tap on reactions, a menu appears showing the details.
Sticky Author for Long Posts
Gameplan encourages long-form content, and it’s common for posts to require extensive scrolling to read through. For authors of such posts, it can be challenging to remember who wrote what as you scroll. This small enhancement keeps the author’s image and name sticky at the top, so you never lose context.
Ignore Holidays, or Highlight Them
You can now “ignore” specific time regions from the Gantt chart. This excludes it from progress calculations.
Alternatively, just visually indicate them:
Custom View Modes
Default view modes are now stored in a central object, allowing you to customize the defaults, or add new ones with ease. There is also far more customization available now.
Unlimited Scrolling
Previously, the chart had a fixed start and end date. Now, you can enable scrolling without limit.
Improved, customizable, popup
The previous tooltip has been replaced with a cleaner, interactive, popup. This popup is also customizable.
Theming
By having all colors as CSS variables, users can add their own “themes” to customize the look of the Gantt chart.
Folders
You can now use folders to organize growing pages.
2.3x faster editor
Editor is now 2.3x faster and consumes significantly less memory. More info
Better history management
- History management has been refined to prevent skipped snapshots during critical actions like color selection, block duplication, or similar interactions. This ensures you can revert changes at every step.
- The Builder now highlights the last edited block, making it easier to identify the updated block while undoing.
Figma to Builder Plugin
Figma to Builder plugin has been soft-launched recently for testing. You can checkout a short demo that was shared during the recent webinar on Frappe Builder.
Other Enhancements
- Arrow key shortcuts can be used to intuitively navigate blocks
- Now you can disable desktop breakpoint for more space while editing
- Improved flex defaults and text editing experience
Thats all for now 👋
Research shows that 80% of people fail to keep up with their New Year's resolutions. So, statistically, there is a chance that the team may stop posting these updates after a few months. Unless 🤔, we are held accountable. And who would be better at holding us accountable than our users?
So, if you guys keep reading our updates and expect more from us each month, we might end up being among the 20% who keep up with their resolutions 🤞. See you guys next month!