01 Challenge

Our client approached us with a plan to build a customized mobile application for their distribution business. They are into distributorship of FMCG products and wanted us to help them simplify their business processes like field orders, sales team management, product catalogs, returns etc.

Since they've been into this business for a long time and all their management was manually done, they had realized that they needed to automate operations as soon as possible. Manual work was hurting their growth.

They were looking for a cross-platform mobile application to manage their customers and help them track their orders, bills, products etc. They also wanted a fully customized admin dashboard for their different workflows. Some of the major requirements were -

  • Mobile application for their customers where they can place orders, keep track of their bills, make payments, and check their current financial year’s ledger.
  • They wanted us to build a way to cut their calls with customers and keep their customers updated with all their current outstanding amounts through this app.
  • Same mobile application with a different interface for sales audit. Essentially, they wanted a mobile application for their salespersons to track assigned customers' orders and payments.
  • A multi-role admin dashboard to manage different aspects of their business including customer orders and bills, current outstanding, payments and ledger.
  • They wanted the same dashboard to be extended as an employee management software allowing them to manage employee attendance, salary, advance payments in different firms and ledger.
  • A set of reports in every module: accounting, sales, catalogs and employees.
Project Scope

Android apps using Flutter, Web-based backend system, UX/UI Design, Digital Transformation


02 Solution

As the application required a mix of accounting system, employee management, and few aspects of a billing system, we decided to use Strapi as the headless CMS. Being fully customizable, we could develop the custom accounting and employee management APIs using it.

The Strapi multi-roles plugin helped us to use the same workflow and code for multiple roles. The main challenge was to develop the ledger system for each customer. We came up with a customized solution for this to verify each transaction and update it in the customer ledger. Strapi has all sorts of abstractions but it also moves away, if you want to go down into details like database transactions, custom routes, middlewares and so on.

The admin user needed full control over the CMS. Writing custom code with Strapi helped us do all the calculations in the backend making the application more accurate and secure. For the admin panel, we used VueJS based NuxtJS framework.

NuxtJS has been amazing to say the least. It offered us everything we needed: routes, middlewares, components, API abstraction. In fact, there’s a custom plugin for Strapi and NuxtJS developed by the amazing community of both of these systems.


For the mobile app, we came up with the usable and business user-focused design. The target audience was mostly power business users who wanted a quick tap-and-go interface. We conducted user research before getting into design.

Ultimately, the goal was to display as much information as possible with the least amount of clicks. Figma came in very handy for this. We built a working prototype for the end-users and asked them proactively for feedback.

Flutter has been our only choice for cross-platform mobile application development. The reusable widgets helped us reduce the application development time and spend more energy in achieving user satisfaction in a more iterative manner. Our designers and developers both worked in tandem and the results have been extraordinary.

Since the system handled financial transactions, we tested it heavily. Our main focus was to test all customer transactions, attendance flows, and filters for the database tables. We did multiple rounds of testing for the same. It required more manual testing to cover different scenarios and customer behavior.

Thanks to Strapi and Flutter, the system is scalable and is able to handle 1000s of transactions at a given time without losing on performance.

Technologies Used
flutter development using nuxtjs for frontend development strapi development android app development figma design development using vuejs for frontend development using postgresql database

03 Effect

The Flutter based mobile application has turned out to be a very positive transformation for their business. From manual handling of workflow to completely automated mobile application, they’ve achieved business transformation in a true sense.

From bills to payments, orders to delivery, salespersons to customers, everyone is in sync now. Not only these, but their employee management issues have also been resolved with modules like attendance and salary.

They have more time to focus on scaling their operations rather than putting effort into day to day management tasks. All their data can now be managed by their operators and they only have to check and approve them.

All in all, we can proudly say that we’ve transformed them digitally.

CitrusLeaf Software helped us achieve digitization in our daily management. They were professional throughout the process. They were detail oriented and provided instant service to our all queries.

using vuejs for forntend development
Anuj Agarwal, Product Owner, Agrawal Distributors

Have an idea? Develop it with us