Healthcare Accounting & Tax
Platform Pacioli 

Pacioli is an accounting platform UITOP built from scratch for MedTax,
a Canadian accounting firm serving healthcare professionals and medical businesses. 

Business Challenge

Previously, MedTax managed healthcare clients using a messy mix of separate spreadsheets and isolated software.The main problem was transaction categorization because bank data arrived with unclear descriptions, while accountants needed to map these transactions into each client's unique, long-established Chart of Accounts (CoA). Popular market solutions like QuickBooks were useless because they relied on static global categories, lacked AI integration, and supported only ~3% of Canadian banks, forcing accountants to sort data manually. 

An early pilot attempt to sync with legacy QuickBooks Desktop via a dedicated Windows server also failed, plagued by frequent bugs, high resource consumption, and poor scalability. It became clear that to survive, scale, and keep sensitive financial records secure, MedTax needed a reliable, automated solution built for the Canadian market. This critical need drove the creation of Pacioli.

UITOP's Solution

Pacioli is a cloud-based SaaS accounting platform that unifies transaction management, categorization, and financial oversight for accounting firms and their clients. Built by UITOP entirely from scratch, this custom solution replaces the messy mix of legacy software and the abandoned QuickBooks Desktop pilot with a single, synchronized ecosystem.

The platform features a custom web app for accountants and a mobile app that allows medical clients to securely sync their bank accounts in real time through a deep integration with Flinks, which covers around 97% of Canadian financial institutions. It enables the firm to connect directly to these banks, automatically organize financial data according to each client's existing rules, and completely removes the operational friction between accountants and doctors.

Our Team

To build Pacioli, we have formed a focused team of 5 specialists to handle the platform's financial data and professional workflows. 

Two Full Stack Developers were responsible for building the entire application, creating the software structure, and managing both the web and mobile platforms along with bank integrations. A UI/UX Designer crafted the interface and user journeys, focusing entirely on creating a clear, efficient, and consistent workspace for professional accountants. A QA Automation Engineer took charge of financial data integrity, running regular checks to prevent errors and testing complex edge cases. A DevOps Engineer fully deployed the development, staging, and production environments, managed server infrastructure, and configured seamless CI/CD pipelines. Finally, a Project Manager coordinated the development workflow, managed communication between everyone involved, and kept timelines and delivery under strict control. 

Real-time
Data from 97%
of Canadian banks
AI-powered
Automated transaction mapping
and categorization
0%
Сonsistent logic across live
& CSV data
Zero
Downtime under
heavy load
0 teams
Design, PM, Dev. & QA

working in sync

Project Brief

Pacioli is a custom medical tax accounting platform built for the Canadian market. It was designed specifically for accounting firms, like MedTax, that work with healthcare professionals and medical businesses.

The platform automatically gathers financial data from connected bank accounts, analyzes and sorts transactions, and helps accountants manage medical finances efficiently for tax and reporting purposes. Given the healthcare context, security, data protection, and regulatory compliance were fundamental product requirements.

Transaction Ingestion Layer

To fix the issue of banking providers delivering messy and inconsistent transaction data that doesn't meet accounting standards, we built a normalization layer. As a result, the system automatically cleans and standardizes all incoming financial data into a single, unified format, making it completely ready and organized before any sorting begins. 

AI Categorization Engine

Because accounting firms need transactions mapped to client-specific Charts of Accounts rather than generic global categories, we built a smart AI model. It analyzes transaction descriptions, past patterns, and metadata to automatically and accurately route every transaction directly into that specific client's existing account structure.

User-Defined Rule Engine

To give accountants precise, predictable control over specific transactions that automated systems might misinterpret, we have developed a customizable rules engine. This system allows users to set conditions based on keywords, vendors, or specific patterns, ensuring these manual rules take top priority and completely override all AI predictions and automated logic.

CSV Import Pipeline

To ensure clients can organize transactions that fall outside of live bank feeds, we built a CSV import pipeline. This tool allows users to manually upload offline banking files and processes them using the exact same automated sorting logic as live data, keeping all financial records completely consistent.

Approval Workflow

Accountants need absolute control over automation rules and manual data entries to prevent system errors, so we created a staged admin approval system. This workflow allows administrators to review, approve, or decline any newly created categorization rules in settings as well as manually uploaded CSV transaction files before they take effect. 

Asynchronous Notification System

Heavy background operations can slow down the system and interrupt user workflows, so we decoupled status updates from core application activities. Powered by RabbitMQ and SendGrid, this setup runs transactional email delivery asynchronously in the background, keeping the user interface fast and completely unblocked. 

Mobile Bank Connection

Clients struggled to share financial data with their accountants efficiently, leading to delays and constant back-and-forth communication, so we developed a secure React Native mobile app. As a result, clients can now instantly link their bank accounts, granting accountants real-time access to transaction data. 

Technology

Front-end

React.js
MUI (Material UI)

Back-End

Node.js / NestJS
RabbitMQ
PostgreSQL
Firebase Storage

Hosting & Infrastructure

Digital Ocean

Third-Party Integrations

Flinks
Plaid
SendGrid

Problem solving

Architecture

We designed a distributed microservices architecture using NestJS and RabbitMQ to process heavy transaction bursts asynchronously without slowing down the user interface. We also built an abstraction layer that standardizes messy data from different banking APIs and CSV uploads, ensuring the same smart categorization logic runs identically regardless of the source.

Design

We focused the interface entirely on professional accountants, prioritizing high data density, clear typography, and fast bulk operations over experimental visuals. Every screen was built using a structured Material UI component system, delivering a predictable and transparent dashboard that helps experts quickly review and approve transactions.

Development

Our team built a multi-stage categorization pipeline that combines smart AI semantic mapping with a reliable deterministic fallback system. We also implemented a custom rule engine that allows accountants to set strict override rules, giving them complete control over how specific transactions are routed.

Quality Assurance

We implemented automated test coverage specifically engineered to protect financial data integrity and validate complex transaction edge cases. Our continuous testing ensured that end-to-end encryption and security protocols remained flawless across all automated categorization paths.