Building POS Awesome
Yousef Restom’s search for good accounting apps brought him across ERPNext. From understanding Frappe Framework to learning Python, he learned everything he needed to build his own Frappe apps.
Picture: Yousef Restom
Yousef Restom, a developer at heart, initially started off as an accountant. Yousef is originally from Syria but moved out to Turkey 8 years ago. Around the end of his 10-year tenure as an accountant, he was looking for better accounting apps than the ones he worked with.
He has always been passionate about programming languages. Unfortunately, he didn’t get a chance to learn much as he was studying marketing at the university and working side by side.
In the next 4 years, Yousef learned a lot of concepts and coding to use Frappe and ERPNext. He kept practicing coding and building new features to see how far he could go. And every time he got stuck, the Frappe community had his back as he had theirs.
“Frappe community is beautiful. I enjoy working with Frappe apps and folks. In my journey, I have learned a lot from the community”
The beginning of a better solution
One of his friends from the community is Olamide from Nigeria. Olamide specializes in providing ERP solutions to retail businesses. One day when Yousef was discussing the features of the ERPNext Point of Sale with Olamide, they found some gaps in the V12 of the ERPNext retail module. The learning bug in Yousef inclined him to resolve this issue by building a new app to meet these gaps.
At the time, he was aware of the Frappe Framework, but he did not fully comprehend its power. And this was the time to test its capabilities along with his own. Yousef and Olamide brainstormed how the new app should work and eventually, Yousef started working toward it.
After 2 months, the first beta version of POS Awesome was ready. It was not built from scratch, but as an app that goes hand in hand with ERPNext. This way the burden of handling the backend is not with Yousef but with Frappe. This was a challenging experience as it was the first app he built using Vuejs. The difficult bit was meeting the user’s expectations of having a faster and better POS system than the built-in retail module in ERPNext. These expectations fueled Yousef’s motivation to work harder and make POS Awesome even better.
After working for a total of 4-5 months with bug fixes, new feature requests, testing, and improvements with the help of Olamide, POS Awesome was ready for the first release. The result? It worked! The users loved it. Mission accomplished!
Screenshot: POS Awesome
Why build POS Awesome?
ERPNext already had a retail module in V12. However, Yousef found some gaps as it did not have all the retail-specific features. And that’s the beauty of open-source products and community. You can figure out the gaps or specific requirements of a customer and start building on top of an existing platform to make it more personalized or better.
POS Awesome today has the same features as ERPNext’s V13/14 retail module but they work differently. POS Awesome has more retail-specific features and is user-friendly. For example, POS Awesome directly creates a Sales Invoice on creating a retail entry whereas ERPNext creates POS Invoice. Some users prefer to have a sales invoice created directly, or they like the look and feel of POS Awesome more.
Moreover, if the community requests some feature, Yousef can now work on it and add it directly to POS Awesome. He does not need to wait for the next ERPNext version release. For Yousef, this is a huge advantage, and is delighted with the fact that ERPNext is open-source. For a lot of community contributors, it means that they can build apps to be used with ERPNext and they work perfectly well together.
“Anyone can build it and everyone can benefit from it’
POS Awesome forks are more than stars as quite a few people are contributing to it. 222 stars but 260 forks. There are a lot of users forking it and doing whatever they need. It is easier for them to fork 3rd party app and make changes to it.
Apps by Yousef
POS Awesome is the second app that Yousef has built using Frappe Framework and contributed to the Frappe community. Other apps include:
- Telegram Integration: Enables you to get notifications faster on Telegram and improve productivity
- Bulk Webhooks: Enables you to create webhooks that send multiple records and also reports from ERPNext. It kind of combines Auto-email Reports and Webhook
- Rebatems: Worked with Aakvatech to build an app for Rebate Management
- Frappe Permissions: A special permission manager for Frappe Framework
- Scheduled API: An app to handle efficiently scheduled API requests in a Frappe application by processing tasks asynchronously, managing execution outcomes, creating responses, and communicating with external systems via callback URLs.
Yousef enjoys the process of building all these apps and it has opened a gate of exploration for him. He is learning new frameworks and languages like VueJs. Ever ready to build more apps using Framework, Yousef is in search of a project with use cases to build apps. He sometimes even ends up asking ChatGPT for ideas!
“Django is also based on Python but Frappe is shipped with a lot of features. It is easy to use, robust, and flexible. It can be just a backend and can be used for anything on the front too. Frappe is very powerful.”
Learn about POS Awesome from Yousef in this video, install it from Frappe Cloud Marketplace, or find POS Awesome on GitHub. In case you like to work with a community just like Youssef, find us on Discuss or Telegram.
If you have explored Frappe Framework and would like to share your thoughts with everyone, do drop your testimonial here.
Consultant. Experimenter. Wannabe marketer.