Adapted from my technical carousel. The original PDF is included above.

Paid, failed, and refunded describe workflow outcomes. They do not fully explain where value is held, what the business owes, what remains in transit, or what income and costs have been recognized.

Record the financial event

Use balanced journals, currency-specific accounts, atomic posting, idempotent event handling, and explicit reversals. Posted financial history should remain reconstructable.

Separate the positions

Bank collection, gateway receivables, partner prefunding, clearing, customer liabilities, beneficiary payables, fees, and expenses serve different purposes. Model them distinctly.

Follow a transfer through its stages

A collection can create a receivable and a customer liability. Gateway settlement changes the cash position and records its processing cost. FX and payout create further financial events. Revenue treatment follows the agreed accounting policy.

Build views from one financial source

Finance needs account balances. Reconciliation needs external matches and differences. Treasury needs liquidity and exposure. Revenue reporting needs fees, FX results, and costs. These views should be explainable through the same posted journals rather than independent totals.

The attached guide includes an illustrative transfer and example entries. Use it as an architecture discussion aid, then agree the exact chart of accounts and policies with finance.

Continue exploring

More from the blog.

All articles