Open Day
May 2019
- Kenneth Sequeira
Server Setup
With Chinmay
• 5 UATs/Feeback visits conducted so far
• Changes from Test site migrated to
Production site
• Doctypes customized: Job Opening, Job
Applicant, Job Offer, Employee, Staffing
Plan (New), Travel Request, Employee
Onboarding/Separation, Employee
Transfer/Promotion, Expense Claims
Support Tickets Breakdown
Jan 2019 - May 2019
Plan # of Tickets
Basic 896
Standard 450
P3 -2018 497
Enterprise 244
P5 - 2017 186
Starter 126
Pro 79
Fin.
OPEN DAY
May 2019
Payroll
Refactoring of all calculations
TaxExemptionDeclaration
Redesignedthe forms and
refactored the code
Noticeable Fixes
• Roundingadjustment in caseof additional discount
• Statusupdation on PO from PR/ PI
• Opening accounting Entry for StockEntry / Reconciliation
• InvoiceDiscounting fixes and cleanup
Noticeable Fixes
• Separateinput for Over BillingAllowance
• Blankcustomer issue(via EmailAlert)
• Optimization of communication query
• Marginamount basedon exchange rate
A lot of discussionsandmeetings!
Thanks
OPEN DAY
MAY 2019
Minimizable Modal
API
Bulk workflow approval
apply_customization_to_custom_doctype
Other UI / UX fixes
1 points to 1 point
Fixed energy points query
to avoid -ve review points in leaderboard
25+ L2 issues
Closed / Resolved
Thanks !
@surajshetty3416
Open Day May 2019
Mitali Deshpande
Issues
“Resolved By” really helps ;)
103
Quality:
Accounts : 119
Reports: 31
Customisations: 41
Print Formats: 24
Manufacturing: 20
Quality Meetings: 2
Thank you!
Open Day
May 2019
Raat ko12 baje
payroll karte hai
Credits
@ketan
@chinmay
@nabin
@aditya
@prakash
Talent Committee
Curriculum
Internal Exams
Compliances
Amended salary slips of backdated dates
to avoid PF
HR Module Enhancement
Salary breakup in job offer
Staffing Plan
Current Staffing Plan
Current Count + job opening = total no. of positions
Sales Invoices
Filled in Prakashji’s shoes for 2 weeks
Scored my 1st goal
Gracias !!!
Frappe Open Day
May-2019
Stock Reconciliation for Serialized / Batch Item
Use of Stock Reconciliation
To add new stock in warehouse
To adjust stock quantity
To adjust valuation rate
New filter in AR/AP Reports
Show Opening Entries
Show Opening Entries
Report
Report
Item Manufacturer
Pagination for Multiselect Modal
General Ledger vs Accounts Receivable
Sales
Invoice
Journal
Entry
Sales
Invoice
Journal
Entry
$449 Outstanding
General Ledger = 0
Accounts Receivable = $449
Babel 2.6.0
Pro-rata Calculation for WDV/Double
Declining Balance
Thanks :)
Open Day - May 2019
Rushabh Mehta
Activities
• Committees
• Discussions
• Code / Docs / Video Reviews
• Feature Demos
• Interviews
Jan May Challenges
Sales ⭐ ⭐⭐⭐ Coverage
Support ⭐⭐ ⭐⭐⭐ Quality
Success ⭐⭐ ⭐⭐⭐ Scale
Partners ⭐ ⭐⭐⭐ Quality
DevOps ⭐ ⭐⭐⭐ Coverage
ERPNext ⭐⭐⭐ ⭐⭐⭐ Quality
Framework ⭐⭐⭐ ⭐⭐⭐ UX
Docs ⭐ ⭐⭐ Quality
Marketing ⭐ ⭐ Begin
Company ⭐⭐⭐ ⭐⭐⭐ Speed
Pipeline
• Academy
• In App Support
• Server Setup
• Version 12 Release
• Partnerships
• Enterprise Sales
Challenges
• Systems
• Ownership
• Execution
• Consistency
• Quality
Company
• Internal Training
• ESOPs
• Recruitment
• Marketing
• US Timezone Sales / Support
• Quality
Thanks!
Open Day
May 2019
Read from
Replica
ApplicationApplicationApplication
read
read
&
write
binlog
Replica dBPrimary dB
Make it
Cloud Friendly
Tra n s lat i o n s
Subscription
• RazorPay status handling
• Handle cancelled profile for PayPal
• Handle non-automated monthly downgrades
Others
• Provision to handle DDOS
• Yearly plan add-ons based onPro-Rata
• UI to reinstall site and setup journeys configs
• Do not show pay via credit to customers
• Update bench scripts for server installation
• Fix subscription cancellation page
• Permission and enqueueing prepared reports
• Patch fixe s
• Shopify sync fixes
• Quotation To and Party Name fixes
• Pull city and state in lead from IP
• Easy install script fixes for CentOS
• Setup demo server
Thank You !!!
Open Day
Umair Sayed
Issues
988
0
275
550
825
1100
Jun July Aug Sept Oct Nov Dec Jan Feb Mar Apr May
2018-19 2017-18 2016-17
Issues Types
Usability (345), Error Reports (196), Bugs (88), Subscription (44)
Issue Found In
Accounts (111), Open Source (106), Invalid (77), Website (64)
Community
Human Resource
Procurement and Stocks
• Matching good portion of requirements out-of-the-box
• Once approved by Finance, procurement can be
proposed to one of the service based company.
• Procurement and Stocks team will prepare point-wise
analysis
• Pick-list and Advance Shipping Notification can be added
to our roadmap
Thanks
D I V I D E D W E F A L L !
Open Day
Basawaraj Savalagi
Documentation
● Opening Balance
● Opening Stock
● Stock Reconciliation
● Blanket Order
● Custom Script
● CRM
● Work Order(In-Progress)
Reviews on SoftwareAdvice - Zerodha
Reviews on SoftwareAdvice - Informatics
Thanks
Open Day
May 2019
Faraz Khatri
Incoming Calls Type
● New inquiry
● Functional queries
● Direct
● Issue related
● Job vacancy
Confidential Customized for Lorem Ipsum LLC Version 1.0
May’19
Vaibhav
Understanding the
requirements
CRM
Expand and leant more functionality.
Customer’s need:
o Complete Sales cycle.
o Mass mailing.
o Website creation, Webhook, etc.
Expect the
Unexpected
01 | RFP document.
Vision
Implementation
Would like to do
implementation. Gather
requirements, Gap analyses.
Documentation
FDD, module or
functionality specific
documents
Product knowledge
Want to gain more
knowledge about product
and services.
Other……
Would like to understand
the backend (Code)
Thank you.
Open Day
May 2019
Chinmay D. Pai
Fixes to Version Upgrade Request
● Some commit in central rolled back a callback that was supposed to help with
automated migrations.
● A weird backup showed up in the system from over 2 years ago. Not a
backup, but just a record of it. Wonder what would’ve happened if it actually
existed and the customer got migrated back to it.
New Demo Page
● Made updates to the demo page.
● Fixed the demo script, created new demo instances on DigitalOcean.
● Retired the old demo.erpnext.com page.
○ Now it is a home to 3 other demos:
■ Manufacturing
■ Retail
■ Services
demo.erpext.com
Subscription Expiry and Trial Information in Issues
Just because I was tired of
“Hey, iska account kab expire ho raha hai check karke bata na please.”
Issues now have a checkbox, and a field with account expiry date to help figure
out whether the customer can be helped or should be left on their own.
Ares
“Tu jaanta nahi online.net ka baap kaun hai”
- Some guy from Delhi, probably
24C/48T, 64GB RAM, 2x1TB SSD RAID
All combined with glorious RGB*
* Terms and ConditionsApply
Ares Setup
● Setting up the server was a breeze given my history with Linux. But I don’t like
things without any experimentation.
● Ares runs Proxmox, a Debian based distribution with a Web UI for deploying
KVM machines.
● It has RAID, running ZFS on top of both disks mirrored to each other.
● The name “Ares” comes from the Greek mythology, the “God of War”.
● The VM is now completely setup, provisioning of local VM’s is just a few clicks
away.
Status page
● Shows system services uptime status
● Live right now on status.maych.in
*Insert some other issues and things I might be forgetting.*
Arigatou~
Open Day May2019
Rushikesh
To the Future
2 VideosOverdue!
Documentation and Marketing Material For Partners
Singular Focus on Asset creation for Partners (marketing as
well as trainings)
Thanks
Suggestions Welcome on
rushikesh@erpnext.com
Open Day
-SahilKhan
Version
Upgrade
Request Form
https://erpnext.com/version-upgrade-request
Version Upgrades
● Sentnewsletterregardingupdatetov10users
of e11 server, planning to send to 2 more
serversinthisweek.
● Total 32requests:
○ 29migrated:
■ 13 automigrations.
■ 16requiredmanualintervention.
Version 12 (contd.)
● DebuggingandRemovalof allsetupwizard
messageswithhelpfromFarisandSaurabh.
Version 12 (contd.)
● Researchfor newbaremetalserverprovider.
● All the other providers like IBM, Rackspace,
PhoenixNAP,Linodewhereeithertoocostly,or
to small for our needs, hence went with
online.netagain.
● “Lautkebuddhoogharkoaaye.”
Version 12
(contd.)
● Releasepage:
○ Basicskeletonfor thepageisready,justhave
to fill in those cards and link it to the
documentation.
○ Waitingfor theDRIsto finish
with theirdocumentation.
Ares Server
● After alot of discussionsonhavingourown
servers,we(me,ChinmayandShivam)finally
boughtourownserver.
● HelpedChinmaywiththeinstallationof
ProxmoxVE onourserver.
● Proxmox tightly integrates KVM hypervisor,
LXCcontainers,softwaredefinedstorageand
networkingfunctionality onasingleplatform.
Ares Server
(contd.)
● Me andChinmayafter
settingupthisbeast.
Proxmox VE web
interface
Gyaan
Somegyaanlinks:
● https://www.proxmox.com/en/
● https://www.redhat.com/en/topi
cs/virtualization/what-is-KVM
● https://linuxcontainers.org/
Gyaanchitr
Google Translate for missing translations
● Most of the work was already done, Saurabh
createdanewaccountfor APItranslationsand
movedalltranslationrelatedcodeto aseparate
server. Learned the whole flow of how
translationworks
Translation Portal
● Meansfor theuserto contribute translations
directly fromfrappe.
● First level is done, all the translations will be
stored in the translation app. Only a small step
for addingthesecontributions to thetranslation
list fromwhichthePR isgeneratedisremaining.
FrappeApp TranslatorApp
Signup page
fix
Normal Ops
● Releaseanddeploy(thrice).
● Reset 4accounts.
● Restore3accounts.(Weshouldsetalimitfrom
whichversionweshouldsupportrestoreoption)
● Updatinganddebuggingonservers.
T h a n k You
@sahil28297
Open Day
May 2019
Incidents
Restore Failure
Patch Failure
Overloaded Central
Broken Release
Supervisord Failure
Semantic Errors in Auto Deploy
Thank You
@adityahase
Open Day
May ‘19
Eh!
• Google Contacts Integration.
• E-Mail Link.
• Communication Link to multiple DocTypes.
• Change Service Level Agreement and Priority.
• Quality Management.
• ERPNext Support App.
• Support
Google Contacts
https://github.com/frappe/frappe/pull/7625
Google Contacts
• Google People API
• Manual Sync.
• One-Way sync from Google Contacts to Frappe/ERPNext.
Google Contacts
Documentation
https://github.com/frappe/frappe_io/pull/162
E-Mail Link
https://github.com/frappe/frappe/pull/7601
E-Mail Link
• Append Email Communication to Document if Sender,
Receiver, Cc or Bcc email address contains DocType and
DocName.
• email_id+doctype+name@example.com
• Appending notes to your username by adding a "+"
followed by the notes, Gmail and Yahoo will read the "+"
and ignore it and anything after it.
Communication Link
https://github.com/frappe/frappe/pull/7467
Communication Link
• Linking a Communication to multiple DocTypes.
• An Email received will be linked to the Customer, Supplier
or any other Document present in the Dynamic Link of the
Contact.
Service Level
Agreement
https://github.com/frappe/erpnext/pull/17492
Quality Management
System
https://github.com/frappe/erpnext/pull/17780
ERPNext Support App
• Attachments for Replies.
• Enforcing Limits for raising Support Ticket.
✌peace
@hrwx
Open Day - May 2019
Ketan Desai
Gyaan session on Sales process
Active listening is key to Success
• Engaged with 3 prospects
• Reply to open opportunities
• Weekend support
• Electrolab plant visit
• Active participation in FF and
committee meetings
• New office search
• Football with team
Happy Selling
Open Day
May 2019
@Mangesh-Khairnar
Report
Leave Ledger Entry
Leave Allocation
Leave Application
Documentation
• Default User Permission
• Leave Management
Other
• Releases
Bank Remittance
• Issues
Has permission
Print format builder setup
Training event fix
User permission validation
Unlink task from project on deletion
Custom script for trimdepot
Custom Html view
Dashboard chart fix for non custom type
Thank You
Open Day
May 2019
1st sprint
(2 - 10 May)
• Billing Summary (Refactor).
• Rewrite the Subcontracted Report.
• Fixed Bulk User Permission.
• Solved 4 kaizen.
2 - 10 May
• Test for Bank Remittance report.
• Test for Bulk User Permission fixes.
• Completed Quality Inspection feature to warn and
stop if not submitted.
2 - 10 May
• Worked on feature for syncing Stock Value and
Account Balance.
• Fix for frappe.utils.add_to_date.
• Industrial visit.
• Document Follow fixes.
• Follow Document on creation.
• Previously Mail was sent even after disabling.
• Fixed Frequency.
10 - 20 May
• Feat: Report for showing complete hierarchy
of BOM with Item Details and scraps .
10 - 20 May
• Fix: Item Variants description based on attribute
value.
• Fix: Report print format for indent row.
• Fix: sales Order status for order type
‘Maintenance’.
• Feat: Added Warehouse Type master. Also added
as a filter in Stock Balance report.
10 - 20 May
• Fix: Doctype and added some tests.
• After started writing tests.
• Tests: BOM items and scraps Report.
• Tests: Bank Remittance Report.
20 - 31May
• Fix: Holidays from Holiday list was showing on
same day.
• Fix: Change dialog field to select when we get
Supplier by Tag.
20 - 31May
• Added Dashboards in HR module.
• Make stock entry against purchase receipt and
some minor fixes in work order.
Apart from that
Closed 26 issues.
15 kg weight gone.
Closed 7 gantt issue.
I can run 30-35 min with 10 km/h.
Thank You
OPEN DAY MAY ‘19
Prasad Ramesh
GETTING DEEPER IN DOCS
• Completed Selling & Buying module docs features. Now
anyone can use it as a complete reference!
• Added in depth features, ever y checkbox, field etc.,
updated screenshots & GIFs
• 4 repor t in selling module were not listed on the product,
added them
• Finding and repor ting useless fields, bugs as I find them
SALES ORDER
PURCHASE ORDER
OTHER THINGS
• Reviewed many doc PRs, big and small
• Faris made a train tunnel between headings - CSS.
Fixed that
• Enhanced the Job Application form for visibility and
clarity
• Created instructions for writing Open Day Blogs
THANK YOU
Open Day
May 2019
Highlights
Code
Design
Art
A few bugsPeople think that computer science is the art of geniuses but
the actual reality is the opposite, just many people doing
things that build on each other, like a wall of mini stones.
Donald Knuth
fix: link_title not getting set in address and
contact
fix: applied filter element in list view
And then a fewDebugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible,
you are, by definition, not smart enough to debug it.
Brian Kernighan and P.J. Plauger, The Elements of Programming
Style
feat: disable customize option for single
doctype
Why????
1. Starts with the error
AttributeError: 'datetime.date' object has no attribute ‘hour’
2. So in frappe codebase, there is data.py
def get_user_format():
if getattr(frappe.local, "user_format", None) is None:
frappe.local.user_format = frappe.db.get_default("date_format")
return frappe.local.user_format or “yyyy-mm-dd"
3. This gets the default date format from System Settings in
ERPNext.
4. The user has customized the system settings, set the date
format to 14th April 2018 which is causing everything to break,
babel gets an illegal date format and all hell breaks loose.
`Set Chart` was broken, fixed that
Frappe Charts
There are two ways of constructing a software design: One way is to make it so
simple that there are obviously no deficiencies, and the other way is to make it so
complicated that there are no obvious deficiencies.
Donut Chart
#FromTheCommunity
Bug: Long Arc
ES Module
Removing the Frappe Hack.
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible,
you are, by definition, not smart enough to debug it.
Brian Kernighan and P.J. Plauger, The Elements of Programming Style
A few more bugs in
line to be fixed.
Some HelpingIf you have knowledge, let others light their candles at it.
Margaret Fuller
(Leaded the American Transcendentalism Movement)
• Webhooks, Custom Scripts with Basaw
• Some issues with Anurag and Rucha
• Introduced Rucha to the Frappe Framework, the product
and others
• Helped Chinmay with the Status Page
Status Page
Major Projects
Too bad! Same old story! Once you’ve finished building your house you notice you’ve
accidentally learned something that you really should have known—before you started.
Friedrich Nietzsche, Beyond Good and Evil
Web Form Refactor
What has changed
1. Better Written Classes
2. Written a small data table
3. Web forms are technically embeddable in any website.
Rushabh ka idea!! !
4. Major Bug Fixes:
1. Rewritten List View
2. List View Filters
3. Grid view not working at all
4. Link Fields not rendering
5. What’s Breaking?
1. Pagination, as of now.
Lastly.
How to write an LMS.
Ingredients
• Frappe
• Frappe Theme
It’s complicated
• ERPNext
You’ll need it eventually
• VueJS
You’ll remove it eventually
• Jinja
There is always Jinja
Steps
1. Start Academy as a separate app with Jinja
2. Add it to ERPNext with Jinja
3. Remove Jinja for Vue
4. Add Frappe Theme
5. Remove Frappe Theme
6. Add Frappe Theme
7. Remove Vue for Jinja
8. Remove it from ERPNext
9. Rename it to Academy and make a separate app
Refactor v4 to be
merged soon
Below the surface of the machine, the program moves. Without effort, it expands and
contracts. In great harmony, electrons scatter and regroup. The forms on the monitor
are but ripples on the water. The essence stays invisibly below.
Master Yuan-Ma, The Book of Programming
ありがとう
Arigatō

Open Day May 2019