October started with quarterly reviews for everyone. The team self-reviewed their quarter’s work and revisited their SOPs to ensure they are on the right track, making course corrections where needed.
Then, in the second half of the month, there were Diwali festivities. At Frappe, we continued with our traditional potluck lunch. It was a feast with one of the biggest and most delicious spread I have ever experienced.
Table of Contents
Subcontracting Inward Order
Subcontracting Inward Order is a new feature merged last month, and it will be available in version 16. The Subcontracting inward in ERPNext is a feature that streamlines the process of a customer outsourcing their manufacturing to your company.
It involves creating a "Subcontracting Inward Order" based on a "Sales Order," which then automatically generates the required materials, initiates a "material transfer" to your customer's warehouse, and manages the receipt of the finished goods.

Item-wise Inventory Account
In ERPNext, users can either set up a Warehouse-wise Inventory Account or use the default Inventory Account from the Company master, which is 'Stock In Hand.'
From version 16, users can also able to set the Item-wise Inventory Account. To do this, they need to enable the option 'Enable Item-wise Inventory Account' in the Company master. After enabling it, users can define the Default Inventory Account in the Item master. Also, they can set a Default Inventory Account at the Item Group or Brand level if they do not wish to define it for each item individually.

Item-wise COGS Account
From version 16, users can set the item-wise default COGS account in the Item Defaults table on a company-wise basis.

Track Purchases in Accounting
To calculate COGS, the formula in accounting is as follows:
COGS = Opening + Purchases - Closing
Users can easily find the stock opening and closing balances by referring to the stock balance report, but determining the purchases is more difficult. The account Stock Received but Not Billed can help, but it doesn’t work if the user is using Purchase Invoices with ‘Update Stock’.
To address this in the ERPNext, from version 16, we have Purchase Expense Account and Purchase Expense Contra Account fields in the Company and Item Defaults masters. So now, when the user books the purchase receipt and purchase invoice expense account and its contra will get debited and credited with the same amount, which means the final impact is zero, but the user will be able to see the purchase amount in P&L and Trial Balance reports.

Recalculate Batch Quantity
If the batch has an incorrect quantity in the Batch form, users can use the “Recalculate Batch Qty” button to correct it.

Custom Date Range in Monthly Attendance Sheet
The monthly attendance sheet was useful to see an overview of attendance for the month, now, you can set a custom date range of up to 90 days and fetch records instead of being limited to a calendar month.
Create Attendance Request from Attendance
Now there’s an option to create attendance request to correct “Absent” type attendance right from the attendance document. Contributed by Vishnu VS.
Skip Party Type & Party Validation in Payroll
When an account of type "Receivable" or "Payable" is used & Accounting entries are not based on Employee(option in payroll setting), the journal entry asks for Party Type & Party to be filled.
This conditions in journal entry is now skipped only for Payroll Entry as in some case Employee data is not filled in accounting entries. (#3648)
Bug Fixes
- If a salary component amount isn’t defined in the Salary Structure(using formula or conditions), its default amount is set to 0. Manually entered amounts for such components in Salary Slip aren’t included in Gross Pay. It’s fixed now. (#3639)
- Previously, Payroll Payable Account in Payment Entry for forced to set empty. Now it’s changed to set it as Payable for processing payroll. (#3570)
- Fixed issue where payment entries linked to employee advances could be cancelled after the amount was returned. Now, payment entries cannot be canceled once the advance is returned. (#3636) Contributed by: Venkatesh
Coupon Code Discount
Admins can now share Coupon Codes with their students to offer them discounts. Coupon codes can be created from the settings modal. Admins can decide if they want the coupon code to have a percentage discount or if they want to deduct a fixed amount from the total.
On the billing page, students can apply the coupon code. Once applied, students get to see the original amount, the discount amount, and the reduced total amount. The same details also reflect in the transactions, which can be used for invoicing.
Contact Us
If you want a way for your students to reach out to you, Admins can now enable a contact us section in the sidebar. This can be done from the settings modal, where you can either set a link to a separate contact us page or they can set an email address.
If a link is set, students will be redirected to that link. If an email address is set, then clicking on it opens a modal, where users can type in the email content, and an email is sent to that address.

Conditional Formatting
The existing color scale implementation for Table Chart was not flexible and users needed more control over how they visualize their data.
Using Formatting Rules you can now setup rule based coloring of Table Chart Cells. This comes with many pre defined rules such as Above Average, top N, top N percent, etc to highlight cells based on these conditions
Folders Inside Workbook
When working on workbooks with large number of Charts and Queries, The workbook sidebar used to get cluttered easily making it difficult for users to navigate.
With the help of folders, users can now create folders and drag and drop their charts and queries into the charts which makes sense to group together inside a folder. Users can also sort their Charts and Queries into whatever order they like.
Upload and Export Excel file
Previously, uploading data was limited to CSV files which made the users who used Excel frequently convert their Excel files to CSV before uploading and vice versa after Exporting

.png)
Minor Improvements
Ability to sort filter options #676
Include Current Toggle for Date Filters #663
Search functionality in Measure Picker #674
Bug Fixes
- Added missing Postgres dependencies. #665. Contributed by: Nzeamalu Chikelue Austine
- Fixed
No results foundissue when joining unexecuted queries. #675 - Fixed UTC warning in mysql connection. #673
- Added permission check for accessing workbook from dashboard. #654
- Restricted Admin access to private Workbooks. commit
Keyboard Navigation
We’re constantly improving the agent experience, and this update is another step in that direction. Many agents prefer using keyboard shortcuts, so we’ve added them to Helpdesk, enabling faster navigation and quicker ticket resolution.
Apart from this feature, this month was mainly focused on product maintenance. We fixed several bugs and are now working on code refactors.

We continued to focus on improving creation experience. Here are some of the new feature that were introduced in the latest release.
Autocomplete in Code Editor
Code Editor in builder has autocomplete feature that suggests code as you type. It helps you write faster and with fewer errors by automatically completing variable names, functions, and syntax based on your current language.

Drill-Down in Page View analytics
You can now view data for a specific date range more easily. The system also automatically adjusts the time interval (like daily, weekly, or monthly) based on the dates you select, so you don’t need to choose it manually. This makes it simpler and faster to explore detailed data for any period you want.
Dark Mode Variable Support
This feature lets you set up dark mode for a page using color variables. Each color variable can now store two versions of a color, one for light mode and one for dark mode. When dark mode is active, the page automatically switches to use the dark color values, and when light mode is active, it uses the light ones. This makes it easy to maintain consistent styling across themes.
Option to expand HTML input for easier editing
This feature adds an option to expand the HTML input area for easier editing. It is mainly helpful for anyone working with longer HTML snippets.
This month, Studio saw some small features and fixes.
Code Editor now has autocompletion from the window object and indentation markers #121
Before
 (1).png)
After
.png)
Window Completions
 (2).png)
Options to edit app details, delete app from the frontend #123
 (3).png)
 (4).png)
Option to configure sort field & order in Data Sources #122
Fixes:
Fixed 'Switch App Page' event action #114
App routing now cancels navigation and informs the user on routing failure due to a non-existent or unpublished page. #114
Fixed missing 'options' prop in the FormControl component with type 'Select' and 'Autocomplete' #119
Fixed cut event in scripts leading to block deletion #120
The wiki editor was slowing things down for everyone, so we added some features to improve the editing experience.
Better Media Interactions #439
Added support for:
Uploading videos
Uploading multiple images/videos at once
Paste media directly into the editor to upload
Alt text is automatically generated from the file name
Attachments are public by default in the editor’s file uploader - no need to manually toggle visibility for every upload
Save editor drafts to localstorage #440
Now you don't need to worry about losing your changes if you accidentally close your tab while writing docs.
- A new wiki page is stored locally even if no draft is created.
- If you have multiple wiki page drafts, edits for them are maintained separately.
- After opening edit mode for page/page draft, if a local draft is present, it will be loaded & the user is informed about this; else, the document from the backend is shown.
- Checks for outdated content if the Wiki Page is modified after the last local draft was saved.
Drive v0.3 was released - many thanks to everyone involved in the feedback process. After the release, bug reports were raised and fixed.
Transfer
We all need to transfer files between our devices quickly.
In this demo, I upload through a tab (simulating device #1) and the other tab immediately reflects the upload; after which you can quickly download the file.
Drive will delete it for you in a specified duration, by default one hour. This is not counted towards the user’s storage quota.
Blog Integration
No more copy-pasting between Writer and Blog - if you have both Drive and Blog installed on the same site, you will see an export to blog option that immediately creates a blog post from your Writer document. One click, zero hassles.
Signup flow
We continued to streamline this. Now, all users on the site can access Drive, even if they didn’t sign up through Drive’s sign-up screen.
If you share a file with someone who doesn’t have an account to your site, they will now automatically be invited to the site.
We added a hook that allows developers to restrict the files being uploaded: validate_drive_upload
Writer
New features, done by Devansh:
Printing a Document is now properly supported #517
Watermark your files while downloading #524
Multiple formats of export - folder, markdown,
We mostly worked on lot of fixes this month:
Better experience with code - you can use “`” after selecting text to format it as code, and you can use
for indentation within blocks. Allow copying media between documents.
Convert pasted blob images (data:) into embeds
Copying marks (tags, mentions) now works
An issue where collaboration on Firefox
Multiple issues with collaboration at scale (5+ users)
Pin Discussions in a space
When you pin a discussion, it gets pinned on the global feed. This may not be intended always. You can now choose whether you want to pin a discussion on the global feed or only in the space.

Advance Search
You can now search for mails enforcing explicit filters like Folder, Subject, Sender, etc.

You can view all results in the regular mailbox view and perform regular mailbox actions in bulk.
.png)
Thread Group Collapse & Select
You can now collapse threads grouped by date, as well as select them. Selecting, of course, will select all the threads under that group.
Keyboard Shortcuts
Frappe Mail now ships with several shortcuts to make your workflow faster and smoother. From navigating and selecting threads to marking, moving, or deleting mails, all without touching your mouse.

Appearance Settings
Some people prefer being able to maximize the number of mails they can view on their screen, others prefer some sort of grouping or management of clutter. When it comes to things like this, there is no one-size-fits-all solution, which is why sometimes it is best to leave it to the user how they want their UI to be rendered.

And that's it 👋
That's all for this month. Do let us know your thoughts on these updates. See you next month with more!



