Skip to content

Platform engineering - case study - 2025

helixpay

Same-day reconciliation for a payments provider

Client
helixpay · card payments
Team
5 engineers, 1 product owner
Engagement
Fixed scope, then retainer
Region
UK & EU

The numbers after launch.

Settlement to reconciled
< 1 hSettlement to reconciled
Spreadsheets in the loop
3 → 0Spreadsheets in the loop
Ledger availability
99.98%Ledger availability
Brief to production
11 wksBrief to production

01 / Brief

helixpay reconciled card settlements overnight. A batch job compared processor files with internal records, and the finance team chased every mismatch the next morning across three shared spreadsheets. As volume grew, the morning chase started to run into the afternoon, and merchants were asking about payouts the team could not yet explain.

02 / Solution

We replaced the batch with an event-driven ledger. Settlement files and internal payment events land on the same stream, are matched as they arrive, and anything that does not reconcile opens a case with the evidence already attached. The finance team works from one queue instead of three spreadsheets, and merchants can see the status of a payout in their dashboard. The migration ran in parallel with the old batch for four weeks, so every figure was proven before the switch.

Technology used: Node.js, NestJS, PostgreSQL, Kafka, AWS

— Tech stack

Built with what holds up at scale.

  • Node.js
  • NestJS
  • PostgreSQL
  • Kafka
  • Terraform
  • AWS

— Client

We used to find a settlement mismatch the next morning. Now finance sees it before lunch, with the evidence attached.
— Head of Finance Operations, helixpay

More customer cases

More work, same standard.

All customer cases