FinTech / RegTech • Audit-Ready • Chartered Accounting Firm (South Africa)
Confidentiality Notice: This case study discusses process decisions, architecture approach, and timelines only. No product features, user flows, or client-identifying details are disclosed. The client's intellectual property remains fully protected.
Project Snapshot
Industry- Financial Services / Chartered Accounting
Regulatory Environment- South African Tax & Audit Compliance
Platform Type- Internal Operations & Workflow Automation
Project Scope- Legacy Stabilisation → Production-Grade Rebuild
Tech Stack- React (Frontend) · Node.js (Backend)
Infrastructure- Heroku (Dev / QA / Production) · CI/CD Pipelines
Key Architecture- Audit Trail · RBAC · Multi-Role Approval Workflows
Key Results- 50% faster load times · 60% faster API response · Full audit readiness
The Problem
A South African chartered accounting firm was running tax workflows, submissions, approvals, and compliance tracking on an internal platform that had stopped working under real operational pressure.
During peak filing periods, staff could not trust the system. Dashboards timed out. Modules crashed. The audit trail had gaps partners could not explain. Staff had quietly gone back to manual workarounds just to get work done.
The next filing deadline was 6 weeks away.
The real cost was not slow software. It was partners making decisions on data they did not trust, staff doing double work to compensate, and a compliance risk sitting in the audit trail that nobody had solved.
The Approach
The first step was diagnosis, not development. Two things became clear:
Some problems were fixable quickly. Performance bottlenecks that could be resolved in days and get the firm through the next deadline without a full rebuild.
Some problems could not be patched. An audit trail with gaps was a data model problem. Unauthorised status changes were a permissions architecture problem. These needed to be rebuilt correctly.
The firm stayed operational through every filing deadline during the process.
What Was Built
Stabilisation
Identified and resolved the bottlenecks causing crashes and timeouts under filing-period load. Staff stopped reverting to manual workarounds.
Audit Trail
Every change to every record is now logged with who made it, when, and what the previous state was. Deletions require a mandatory reason. Any record can be reconstructed at any point in time. The firm can now answer a regulator's question about any record, immediately, with a complete history.
Approval Workflows and Access Control
Rebuilt permissions to match how the firm actually operates: Clerk to Partner to Super Partner, with authorisation levels varying by role and tax stage. No one can move a submission to a status they are not authorised to set. Every approval is traceable.
Tax Automation
Monthly tax entry creation now runs automatically with failure detection. The firm no longer needs someone to manually verify the process completed. Exceptions surface themselves.
Supporting Systems
Client and entity management with controlled field updates. Quality control dashboards showing workload by clerk and date range. Correspondence and objection tracking with automatic document linking. Consolidated deadline views with date-aware reporting filters.
Results
| Area | Impact |
| ----------------------- | ----------------------------------------------------------- |
| Filing deadline risk | Eliminated — system no longer fails when it matters most |
| Staff double work | Removed — no manual workarounds needed |
| Regulatory exposure | Closed — full audit trail with complete record history |
| Approval accountability | Every authorisation traceable to a person and a timestamp |
| Monthly tax processing | Fully automated, exceptions flagged without manual checking |
| Partner confidence | Decisions now made on data they can trust |
The Principle
The firm was not losing money because their software was slow. They were losing time, confidence, and compliance integrity because the system they depended on could not be trusted.
The solution was built around their actual workflow, not adapted from a generic template. The scoping conversation — understanding how the team works, where decisions get made, what a regulator would ask for — is where the real value was. The build followed from that.