
Modernizing Accounting Connector Deployments
Replacing a Manual Installation Process with a Guided, Automated Deployment Experience
Background
Many ProShop customers use QuickBooks Desktop to manage their accounting. To integrate with QuickBooks, ProShop provides an accounting connector that runs locally on the customer’s workstation and communicates with both the QuickBooks Desktop SDK and the ProShop cloud platform.
Prior to this project, deploying the connector was a manual process. Customers were provided with a ZIP archive containing the application files and were guided through the installation by a member of our implementation or support team. This included extracting files, configuring application settings, validating the environment, and establishing communication with QuickBooks.
While the process worked, it required technical assistance for nearly every deployment and introduced opportunities for configuration errors that could delay implementation.
The Challenge
As ProShop continued to grow, the manual deployment process became increasingly difficult to scale.
Every customer environment was slightly different, and successful installations depended on users correctly following a series of technical steps. Customers without dedicated IT staff often required additional guidance, while even experienced users could occasionally miss configuration details or provide incorrect information.
Beyond the initial deployment, troubleshooting installation issues frequently involved verifying configuration files, checking environment settings, and confirming that all prerequisites had been completed correctly.
The goal was to create a deployment experience that was simpler, more consistent, and less dependent on manual intervention from the implementation and support teams.
Our Solution
To simplify deployments, I developed a Windows MSI installer that automated much of the installation and configuration process.
Rather than asking customers to manually extract files and edit configuration settings, the installer guided them through a familiar installation wizard. During installation, it collected the information required to configure the connector, validated user input, verified installation prerequisites, and generated the necessary configuration automatically.
By embedding validation and configuration into the installation process itself, the deployment became significantly more predictable while reducing opportunities for user error.
My Role
I designed and developed the MSI installer from the ground up, working closely with implementation and support teams to understand the challenges customers encountered during deployment.
Rather than simply packaging the application, I focused on automating repetitive configuration tasks and validating common installation issues before they became support calls. Throughout development, I tested the installer across a variety of customer scenarios to ensure it behaved consistently and produced reliable deployments.
The project combined software development, automation, user experience, and operational thinking to improve an important part of the customer onboarding process.
The Outcome
I designed and developed the MSI installer from the ground up, working closely with implementation and support teams to understand the challenges customers encountered during deployment.
Rather than simply packaging the application, I focused on automating repetitive configuration tasks and validating common installation issues before they became support calls. Throughout development, I tested the installer across a variety of customer scenarios to ensure it behaved consistently and produced reliable deployments.
The project combined software development, automation, user experience, and operational thinking to improve an important part of the customer onboarding process.
Lessons Learned
This project reinforced that some of the highest-impact engineering work doesn’t involve adding new product features—it involves improving how existing software is deployed and operated.
By automating repetitive tasks and reducing opportunities for human error, it was possible to improve both the customer experience and the efficiency of internal teams. The installer also demonstrated the value of building operational knowledge directly into software, allowing common deployment issues to be prevented rather than diagnosed after the fact.
Looking back, the project wasn’t really about creating an installer. It was about removing friction from the deployment process and making the software easier for customers to adopt.
Technologies
- AWS Elastic Container Service (ECS)
- Linux
- Golang, gRPC, Protocol Buffers
- QuickBooks, SAGE50
Key Takeaway: We reduced deployment complexity and support overhead by replacing a manual installation process with a guided, automated deployment experience.
