The ERP Platform The Business Actually Runs On

Projects, contracts, finance and document control in one system — designed, built and run in-house by the COMPRSA engineering team.

Used every day across the business
Before RCS

The Work Was Real. The System Wasn’t.

Projects were run out of spreadsheets, shared drives and a handful of standalone tools. Nothing was wrong with the people — the platform underneath them just didn’t exist yet.

Spreadsheet Sprawl

Every project kept its own version of the truth. Consolidating anything meant chasing files and hoping the last save was the right one.

Double Capture

The same hours, rates and quantities were typed into three places. Every re-entry was another chance for the numbers to disagree.

Reporting Lag

Management reporting was rebuilt by hand each month, which meant decisions were made on a picture that was already weeks old.

Platform

Everything The Business Runs On

Projects & Contracts

Project setup, contract structures, milestones and progress claims tracked against the commercial terms that actually govern them.

Contract structuresProgress claimsMilestones
Find work across the portfolio
Contract 4127 — measured quantities
Open contract
  • Progress claim 14 — drafted
  • Variation order 3 — approved
  • Retention release — pending
  • Final account — in review

Finance & Billing

Timesheets, disbursements, invoicing and cost-to-complete in one flow — reconciled against the project, not re-keyed beside it.

TimesheetsInvoicingCost control
Month-end runProcessing
Timesheets
Disbursements
Invoices
Reconciled to ledger

Documents & Reporting

Controlled documents with revisions and transmittals, generated output, and dashboards built on the live database rather than last month’s export.

RevisionsTransmittalsLive dashboards
Docs controlled
0
+ this year
Report build time
0
was 3 days
Single source of truth
0
one database, one audit trail
Capabilities

Everything You Need, In One Workspace

One Angular workspace over focused .NET services. Built for a business that needs reliability and traceability without waiting a quarter for a change.

rcs-erp-uiOne workspace, twelve modules, one component library

Every module speaks the same language

Shared identity, shared master data, shared components. A pattern fixed once is fixed everywhere.

Projects
Finance
Documents
Admin
Input“Add a retention column to the claim grid”
Shared componentUpdated in one place, live in every module

Shared Component Library

Tables, forms and layout primitives live in one versioned library with design tokens, so the UI stops drifting between areas.

// RCS-Gateway
app.MapReverseProxy();
route: "/identity"
route: "/admin-core"
route: "/projects"
Deployed

Services With Clear Edges

Identity, admin and domain concerns are separate deployables behind one gateway. One module ships without holding the platform still.

GitHubOctopusAzure DiscordPostgreSQLPower BI OutlookTeamsAPI

Connected To Everything Else

Releases, notifications, reporting and mail all wire into the systems the business already uses — no parallel process to maintain.

Process

How A Change Reaches Production

Predictable, reviewed and automated end to end — the same on a Tuesday afternoon as on a quiet Friday.

Work starts from the shared shell and component library on a protected branch. Git worktrees and stacked branches keep parallel work moving without stepping on anyone.

Required reviews on every pull request, with automation handling the mechanical pass first so human review goes to architecture and intent.

GitHub Actions builds into Octopus Deploy, and a Cloudflare Workers service posts build and deployment status straight into the team’s Discord channels.

Pull request openedChecks
Automated reviewPassed
GitHub Actions build2m 14s
Octopus releasePromoted
Discord notification
Team of the Year 2026

The People Behind RCS

A small team with wide coverage — frontend architecture, backend services, data, infrastructure and the internal tooling that keeps all of it moving.

0
Modules live
0
Core services
0
Shared UI library
0
Reviewed PRs
0
Faster releases

Placeholder team details — edit the TEAM array at the top of app.js. Tile figures are placeholders too.

Security

Access You Can Account For

Who can see what, and who did what, is handled centrally — not screen by screen.

Single Sign-On

One identity across every module, issued and validated by RCS-Identity.

Role-Based Access

Permissions follow the role, so a change to a role changes every screen at once.

Private Network

Environments sit behind the company network, reachable over VPN rather than the open internet.

The Year

What We Shipped

Each of these made the next one cheaper.

Foundations
Q1

Branch Protection And Repeatable Environments

Required reviews on the development branches, migrations fully in source control, and local setup reduced to a documented path.

Component Library
Q2

One Shared Library For The Whole Workspace

Common tables, forms and layout primitives pulled out of individual screens into a versioned library with design tokens.

Release Pipeline
Q3

Automated Releases With Live Notifications

GitHub Actions into Octopus Deploy, with a Cloudflare Workers service reporting build and deploy status to Discord. Releases became routine.

FAQ

Questions We Get Asked

Something not covered here?

Ask the RCS team directly.

CONTACT THE TEAMCONTACT THE TEAM

RCS is our in-house ERP platform: an Angular workspace over a set of .NET services and a PostgreSQL database, covering projects, contracts, finance, documents and administration.

The commercial terms and document control our work runs on are specific enough that off-the-shelf ERP would need heavy customisation anyway — and we would still be waiting on someone else’s roadmap for every change.

Access is role-based and issued centrally by RCS-Identity. Changing a role changes every module at once, and every change is attributable.

Continuously. Releases are automated through GitHub Actions and Octopus Deploy, so a reviewed change reaches production without a scheduled event around it.

They get retired module by module. Where a process still lives outside RCS, it is on the list rather than forgotten.

Yes. Dashboards and exports read the live database, so management reporting is a view rather than a monthly reconstruction.

Team of the Year

One Platform. One Team. Every Layer Owned.

RCS is where the work is planned, costed, billed and documented — built and run by the people who answer when it matters.