Frappe has always thrived in chaos. Back in 2019, when we had a smaller team and simpler business, managing operations was easy. However in 2020, after our first investment from Zerodha, we started expanding our business reach. Our team strength grew from 40 to over 100. We set up our implementation team to drive services. Due to Frappe Cloud's launch, we started receiving a lot of traction. This also had an effect on our partnership business which was growing steadily.
Around the same time, we were gradually entering into the Enterprise landscape. This is when we realized that we had to get better at customer experience. Being in the open-source industry, there's very little business leverage that we have, and the only way to excel is through quality. Enterprise businesses started demanding industry standards and that's when we decided to undergo the ISO certification.
At Frappe, I was previously working in the implementation team. I was implementing ERPNext for other companies, helping them streamline their operations. Implementing ISO for Frappe seemed interesting and challenging. It was an opportunity to drive and streamline operations at Frappe itself. That's when I moved on from implementation and got into operations. Through the ISO, we also got to learn how bigger companies run their systems. It was then that we started documenting all our processes, understood the gaps, re-implemented a few of them, and started consciously focusing on quality. We also ensured that we did not over-engineer the operations as we wanted to maintain our culture while building some structure around them.
Coincidentally, around the same time, on the engineering side, we decided to break the ERPNext monolithic structure. Due to our self-driven culture, many developers within Frappe also started developing smaller products for various business needs. Some of these products were built to address Frappe's internal operational requirements. Eventually, we had more than 12 products within Frappeverse – a collection of our tools. Today, we manage almost 95% of our operations using the Frappe tools we developed. In this blog, I will outline how we manage our internal operations with the help of these products and how it has helped us scale our business.
Managing our core operations on ERPNext
ERPNext has been the backbone of our operations right from the start. We have our ERPNext instance hosted on Frappe Cloud. All the core operations like managing our accounting books, invoicing, orders, payments, and inventory are handled in ERPNext. Due to ERPNext's preconfigured reports, we are easily able to view our P&L, Balance Sheet, General Ledger, and Stock Balance all in one place.
We have over 400 suppliers and 67,000 customer data from the last 12 years tracked and managed in ERPNext. On average, we process more than 1400 invoices each month and perform more than 2,000 accounting transactions. Since we run a SaaS business a vast majority of our invoices are automated using REST APIs.
We also use the Assets module in ERPNext to track the depreciation of our fixed assets like laptops and other office equipment.
Driving Implementation and Customer Success through Projects
The Projects module of ERPNext was used extensively when we were driving implementation as it allowed us to track timelines, create and assign tasks, maintain timesheets, and track project profitability. For the sake of transparency, we also gave project access to our customers so that they could track the activity and timelines themselves. Access was restricted and managed via roles and permissions in the Frappe Framework. Today, we drive implementation through partners but still have a few past ongoing implementations that we handle. All of them are still tracked via the Projects module.
Currently, we offer Customer Success to our Enterprise customers which requires our Customer Success Managers to ensure the project timelines are met through partners, and periodic feedback is taken from customers. All these tasks are managed via projects, tasks, and a couple of custom doctypes and webforms that we have created internally.
Other activities like managing Frappeverse conference tasks were also all tracked through the projects module.
Simplifying Employee Lifecycle with Frappe HR
We manage all HR operations, from hiring to exit, using Frappe HR. This includes job application review, interview management, job offers, and employee record creation. Leave and expense claims are also handled in the same system.
Salary processing with tax deductions and exemptions along with accounting is easily handled through the core features of the Payroll module. We currently have less than 60 employees so salary processing hasn't been a challenge so far.
Frappe has been following the pick your own pay (PYOP) policy for the last couple of years and we have been experimental with this approach. Hence currently, appraisals are managed using custom doctypes for both annual and quarterly reviews, with plans to utilize the Frappe HR appraisal feature next year.
For exit and other formalities, we use the employee separation template to track all the tasks. For employee letters and other documents, we have configured a bunch of custom print formats to easily send these documents from time to time through the system itself.
Training and Certification with Frappe LMS and the Education App
We use the Frappe Education app for internal employee training, offering tailored courses for different job profiles.
For the external ecosystem training and certification, we use Frappe School with the backend activities like batch and course creation, registration, training, evaluation, certification, and student feedback managed via the Frappe LMS app which is one of the newer products developed under Frappeverse. With over 19,000 users currently enrolled, we manage payment through RazorPay and auto-generate invoices inside our ERPNext instance for accounting purposes.
Driving Sales through ERPNext CRM
We currently use the CRM module of ERPNext to drive Sales operations. It is one of the more customized modules that we use, mainly because our CRM is linked to multiple internal sources like Frappe Cloud for lead generation and to the PRM as we perform lead sharing with partners as a part of our partnership program.
At Frappe, lead generation is mostly done inbound through our various websites and channels like webform and trial signup. We get over 4000 leads monthly. All these leads are created automatically in the Lead doctype of the CRM. Customer communication is managed in CRM via emails and calls through the Exotel and Twilio integration. We use drip email campaigns, create opportunities from leads, send quotations to prospects, and handle orders and payments within a single platform.
Partner Relationship Management (PRM)
Around mid-2020, we started developing the PRM app made using the Frappe Framework to streamline partner lifecycle activities. During that time the partner data was scattered in multiple systems like our ERPNext instance, Central (our older infrastructure platform before Frappe Cloud), and partially on Frappe Cloud (FC) causing collaboration challenges. We were also on our way to eventually deprecating Central in favor of FC. Moreover, we wanted our partners to have access to their data, so it made sense for us to drive this all through the PRM app.
Launched in December 2021, PRM now handles partner inquiry and acquisition, listing and delisting, partner support, onboarding, lead sharing, and much more serving as a unified system for all partnership activities. Our partners have access to the PRM, where they can access all the resources and add their team members. We have more than 150 partner members accessing the PRM regularly.
Customer Support through Frappe Helpdesk
Until July 2023, we have been driving customer support through the support module of ERPNext, but recently in August, we moved our entire customer support for ERPNext, Framework, Frappe Cloud, and HRMS to our new product, Frappe Helpdesk. This was intentional as we wanted to make Helpdesk ready to use for our customers. We believe if we use our products, we would realize a lot of missing features and this would boost its development and stability. Moreover, handling all tickets inside a single instance makes managing it quite easy.
Today, Helpdesk seems quite stable as we track over 500 tickets monthly, their SLAs, escalations, and customer feedback through it.
Drafting SOPs and Policies through Frappe Wiki
All our internal policies and departmental standard operating procedures (SOPs) are documented and maintained in our company handbook which is drafted in Frappe Wiki.
The directory structure of Wiki makes it easy for any new team member to easily read through the documents. Moreover, our entire ERPNext user manual is also drafted in Frappe Wiki.
Gameplan for Internal Discussions
At Frappe, we follow a very open and democratic culture. Most of our decisions are taken after multiple rounds of debates and discussions. Hence, internal communication and discussions play an important role. All this is done on Gameplan.
We have created multiple teams on Gameplan for each department. Each team has its projects under which we have various discussions. Team members can make a new proposal of change, post discussions, and view and read them. They can also comment and react to discussions posted by other team members. Recently, a few of us have also started tracking a few tasks and running polls inside Gameplan.
Performing Business Analysis through Frappe Insights
Personally, this is one tool that I've been using the most. As I mentioned earlier, for the last couple of years, we have been focussing on quality in our operations, especially after the ISO certification and Frappe Insights gives a bird's-eye view of how all the departments are functioning. We have created over 40 dashboards in Insights and the data is integrated from 15 data sources. So Insights works as a single source of information when it comes to making business decisions.
We track our renewals, churn, revenue, sales targets, SLAs, feedback, customer acquisitions, growth, and much more through Insights. Since these dashboards are easily accessible to all (yes, we're pretty transparent with our data internally), they provide a clear view of our business's performance to all team members, reinforcing our self-driven culture.
Internal Tooling using Frappe Framework
For various other operational needs, we rely on the flexibility and customization capabilities of the Frappe Framework, which allows us to handle them through custom doctypes, fields, scripts, and workflows. For critical issues and reminders, we have set up Telegram and email notifications that are triggered from our Frappe instance. We have also set up payment reminders for our customers through the notification feature of the Framework.
Customer feedback is captured via web forms. Monthly newsletter subscriptions and delivery are also managed via the newsletter feature. Email campaigns for marketing are driven through Frappe. In fact, this blog that you are reading is also written and published via blog post, another interesting feature in the Framework. 😀
Easy hosting and deployment through Frappe Cloud
And finally, all our internal sites are hosted on our very own cloud infrastructure, Frappe Cloud (FC).
FC makes managing and deploying all these apps very easy. Most of the products we use internally run on the development branch which means we use them internally first before we release a stable version to the general public. This has been going great for us as all the bugs get reported immediately by the internal team and get fixed and deployed quickly as well. It's through this dogfooding that we feel confident enough to sell our products as we have always been the first users.
At Frappe, we want to innovate and grow as much as possible, and adopting our open-source products internally to drive our operations gives us the motivation to innovate further. Next, we are planning to use Frappe Drive to replace the Google Drive that we currently use internally. We look forward to transitioning to the new Frappe CRM once it is ready to use. We are also planning to rebuild all our websites which are currently built via Web Page Builder with our new website builder tool called Frappe Builder and create new print formats using the newly launched Print Designer.