Skip to content
Gilang Adrian

— Case study

Payments Reporting — From NiFi to a Java Report Service

Migrated 150+ legacy reports to a BigQuery-backed Java service, eliminated recurring monthly outages, and built a self-service report admin.

Role
Product Engineer — Reporting & Settlement Systems
Period
Nov 2023 – Present
Stack
Java · Spring Boot · BigQuery · Angular

Business need

Finance, Operations, and merchant-facing teams depend on reliable transaction, reconciliation, and settlement reports. Recurring monthly outages in the legacy NiFi reporting service made reliability a product priority alongside new reporting capabilities.

My reporting backlog covered QRIS, Payment Channels, Biller, Cash-in, and Cash-out. Across that portfolio, requirements included transaction amounts, fees, refunds, reconciliation references, and settlement data.

My contribution

I owned reporting product direction, requirements, and delivery while contributing engineering implementation. I authored Business and Technical RFCs with system flows, sequence diagrams, ERDs, and testable acceptance criteria. These connected stakeholder needs from Finance, Operations, Risk, and Compliance to engineering work.

I used WSJF to prioritize feature requests and technical debt across 200+ partner reporting feeds, supported by SQL and BigQuery analysis of business impact and feasibility.

Delivery choices

I migrated 150+ legacy NiFi reports to a BigQuery-backed Java service and built a self-service Report Admin Web for schedules, recipients, and report regeneration. The admin gave operational users a way to manage routine reporting tasks directly.

Delivery validation covered SIT, UAT, and production. I defined acceptance criteria, executed functional checks, and coordinated release sign-off with engineering, QA, and business stakeholders. I also managed incidents using Datadog APM, coordinated triage and stakeholder updates, and wrote post-mortems with corrective actions.

Results and scope

  • 150+ legacy reports migrated to the Java service.
  • Recurring monthly outages eliminated following the migration.
  • Scheduled report delivery to 431+ merchants managed within the reporting portfolio.
  • Self-service administration for schedules, recipients, and regeneration.

This work delivered reporting capabilities over transaction and settlement data. It required collaboration with payment-domain teams on their reporting needs.