A marketplace makes a simple promise to its sellers: when you make a sale, you get paid the right amount, on time. Behind that promise sits one of the least forgiving systems in software. A payout that is wrong or late costs the business its sellers' trust, and the error tolerance is close to zero.
We worked as an embedded team inside a global online marketplace's payouts engineering organization and delivered four initiatives. The client is confidential, but the engineering lessons are not.
1. Model the full lifecycle explicitly
A payout is not one event. We worked with a seven-stage lifecycle: created, validated, approved, committed, initiated, credited and settled. Each stage has its own rules, owners and failure modes. Making every state explicit, and recording every transition, is what lets finance and operations teams answer the question "where is this seller's money?" without asking an engineer.
2. Run computation and execution asynchronously
Payout calculation and payout execution have different needs. Calculation must be repeatable and auditable; execution must be safe to retry without paying twice. We built them as separate asynchronous pipelines, so a slow bank or a failed batch never blocks calculation, and every execution step can be retried safely.
3. Keep calculation rules out of scattered code
Fees, adjustments and timing rules change often and differ by region. When they are spread across services, nobody can say with confidence what a seller should receive. We centralized calculation and settlement logic so every rule has one home and one set of tests.
4. Build for incidents before they happen
In regulated money movement, an incident is not only a technical event. It may need to be reported. We built regulatory incident handling into the platform, so the people responsible have the data they need without manual reconstruction.
5. Give finance and operations their own tools
Much of the load on a payouts team comes from questions. We delivered self-service finance reporting and an operations investigation portal, so finance and support teams can trace a payout themselves. Engineers spend their time on the platform, not on lookups.
Working as an embedded team
We worked inside the client's own engineering organization, in their tools, codebase and release process. That model suits platforms where domain knowledge matters more than headcount: the team learns the system once and stays with it.
The same principles apply to any system that moves money: wallets, gift cards, billing and collections. We use them in PropToll's double-entry ledger as well.

