Internal Operations ERP for a B2B SaaS Company
A centralized internal ERP unifying billing, onboarding, and support data for a 140–180 person B2B SaaS company — replacing department-by-department spreadsheets with one auditable system of record.
Engagement at a Glance
The project, in numbers.
Project Overview
The client provides subscription-based software across two product lines to mid-market business customers. As the company scaled past 150 employees, internal operations — billing reconciliation, customer onboarding, and support escalation — had outgrown the mix of spreadsheets and disconnected tools each department used independently.
Finance tracked subscription and renewal data separately from what customer success used to manage onboarding, and support tickets lived in yet another system with no shared visibility. Leadership had no single view of account health, renewal risk, or operational bottlenecks across departments.
Given the need to unify data across finance, customer success, and support without disrupting each team's existing day-to-day tools, we built a centralized internal ERP with role-based modules rather than forcing every department onto a single generic interface.
The system consolidates account, subscription, and support data into one database, with department-specific dashboards built on top of shared data rather than duplicated records. Workflow automation was introduced for account handoffs between support and customer success, replacing manual follow-ups with a tracked, auditable process. The backend was designed with an API-first structure so the ERP could pull data from the client's existing billing and support tools instead of requiring a full replacement of either system.
The Challenges
The problem we faced.
Subscription and billing data lived separately from onboarding and support records.
Manual reconciliation between finance and customer success caused reporting delays.
No shared visibility into account health, leading to missed renewal risk signals.
Support escalations to customer success required manual follow-up with no audit trail.
Leadership reporting relied on department heads compiling spreadsheets weekly.
New employee access to internal tools was granted inconsistently across departments.
The Solutions
What we built instead.
A centralized internal ERP with role-based modules, consolidating account, subscription, and support data into one database instead of forcing every department onto a single generic interface.
A scheduled sync layer with validation checks that catches mismatches between the client's existing billing and support tools before they reach the unified dashboard, rather than assuming source data is always clean.
A renewal risk and account health analytics dashboard giving leadership real-time visibility instead of a weekly manually-compiled spreadsheet.
Workflow automation for account handoffs between support and customer success, configured around how each team actually escalates accounts rather than one rigid imposed process, replacing manual follow-ups with a tracked, auditable trail.
Cross-department reporting with export capability, replacing the practice of department heads compiling their own spreadsheets for every leadership review.
A role-based provisioning system tied to department and seniority, replacing ad hoc access requests and reducing setup time for new hires.
How We Delivered It.
The phase-by-phase path from discovery to go-live.
Project Outcomes
The results, measured after launch.
Four numbers that summarize what changed once the system went live.
Renewal risk visibility also improved qualitatively — account health is now tracked in real time instead of surfacing only when a department head happened to notice a problem.
Services Delivered
What we were engaged to do.
Core Features
What shipped inside the system.
Unified account view across billing, onboarding, and support
Role-based access and user provisioning by department
Automated account handoff workflow between support and customer success
Renewal risk and account health analytics dashboard
Audit logs for account changes and escalations
Automated notifications for at-risk accounts and pending handoffs
Cross-department reporting with export capability
Mobile-responsive interface for account managers on the go
Tools & Technologies
What this project was built with.
Why this stack
- Spring Boot supports the structured role hierarchy and business logic needed across finance, customer success, and support modules.
- PostgreSQL provides the relational consistency required to keep account, billing, and support data accurate across departments.
- React delivers a fast, department-specific dashboard experience without separate front-end systems per team.
- An API-first backend design allows integration with the client's existing billing and support platforms instead of replacing them.
- Docker and AWS keep deployment consistent and support future scaling as the company adds product lines.
Built To Grow
Where this goes from here.
API-first architecture supports onboarding additional product lines without rework.
The role-based access model extends easily as the company adds departments or teams.
The workflow automation framework can be applied to future internal processes beyond handoffs.
The architecture supports future integration with additional billing or CRM systems.
Our teams were each doing good work, but none of it connected. Finance didn't see what customer success saw, and support escalations could sit without anyone noticing. Now we have one shared view of every account, and our leadership reporting takes minutes instead of a full afternoon.
More Work
Other real projects.
Start Here
Bring us the problem.
We'll bring back a scoped plan.
A structured conversation about your product — your users, your workflows, your constraints. We scope what should be built first, what can wait, and what it takes to ship it.


