Building Buxlens

The problem

Over 4 million companies across small and medium businesses use QuickBooks online for their accounting needs. Intuit has nurtured its Pro Advisor program for years, connecting businesses to trusted accountants close to them. The Intuit App store provides a space for third party applications to create new solutions that simplify the life for small business owners and accountants. Hundreds of entrepreneurs have launched and developed third party applications into the Intuit App Store. Buxlens is a financial performance monitoring platform that connects to QuickBooks Online and provides real time analytics. A custom web application was required to address various requirements as below:

  • Integrate with QuickBooks Online. Allow for other platform integrations in the future.

  • Provide real time parsing of main financial KPI-s from QuickBoks Online financial reporting.

  • High performance and fast user experience.

  • Special attention to security features and user company/data.

  • Source industry financials and allow companies to benchmark against them.

  • The application should be accountant ready as defined by QuickBooks Online.

  • The application should allow for multiple users per company.

  • Users should be able to set targets and track them.

  • Custom made data visualization.

  • The application should pass the Intuit technical, security and marketing reviews.

Solution

The application was delivered a multi tenant application with highly secure tenant isolation. The company integrates with QuickBooks Online through OAuth 2 to provide authentication as well as data updates. The application provides highly secure encryption in transit and at rest. Company financials are updated hourly. The time to get started for a new user is kept at under a minutes. Users can compare different metrics. The application provides means to do vertical and horizontal analysis. Yearly, monthly and quarterly data is provided for the last 5 years for each connected company.

The KPI computation engine is custom built and allows flexibility in KPI definitions. A custom natural language generator is used to convert data into easily digestible test.

The back end is delivered as a high performance Laravel PHP 7 application. The application is backed by a Redis cluster for cache, queue and session management. A high availability PostgreSQL cluster is the database system of choice. The front end is a React single page application with custom build D3 visualizations.

Results

The custom built web application was built in 4 months. The application met all requirements set initially. The application went through the Intuit technical, security, marketing and accountant ready review on the first run. Some of the highlights of the delivered product:

  • Time to get started for users is kept under 1 minute. This includes registering, connecting and updating the data from QuickBooks Online. This is made possible by optimizations made in the computation engine for KPI-s as well optimizations related to how data is updated from QuickBooks.

  • Benchmarks are provided not only at the industry level, but also based on asset size. This allows companies to compare their data to peers that are similar in size to them.

  • Over 160 KPI-s are measured and updated every hour.

  • The application makes use extensively of PostgreSQL NoSQL features, providing extremely fast read operations for this specific scenario.

The end result provided a seamless user experience from connecting for the first time to day to day operations on the platform. The application was built with flexibility in mind and allows connections to other accounting platforms in the future.