Event-Driven Billing System
Invoices and payments modelled as events, designed so a retry never charges anyone twice.
- Jun 2026 – Aug 2026
- Solo
On this page
The problem
Billing is the one place where "at least once" is not good enough. A retried payment event must never become a second charge.
What I built
An event log of invoice and payment events, with idempotent consumers and a read model rebuilt from the log.
What broke
The first read model assumed events arrive in order. Partition rebalances proved otherwise within a day of load testing.