Payments platform
When you handle money on behalf of other businesses, your reconciliation report is the product they are actually buying.
Everything rests on the ledger. Balances stored as mutable numbers fail under exactly the conditions payments produce — concurrent updates, retried requests, partial failures between systems — and once a total stops matching its transactions, nobody can say when it happened or which side is right. Double-entry with immutable entries makes the balance derived and every movement paired, which turns reconciliation from an investigation into arithmetic. There is no shortcut here that does not eventually cost more than it saved.
Payouts are the operationally hardest part, and they are what your customers judge you on. Money arrives from a processor on one schedule and has to leave to many recipients on another, minus fees, minus refunds that may land after a payout has already gone out, with a hold period for risk and a failure path for a bank account that has been closed. Every one of those is a state, and a payout system that models them explicitly is the difference between an operations team of one and an operations team of six.
Subscriptions bring their own quiet revenue leak: cards expire, get replaced after fraud, or are simply declined for reasons that resolve themselves in a day. A platform without a dunning process — retries on a sensible schedule, card-updater services, and a sequence of notifications before access is removed — loses a meaningful share of recurring revenue to something that is not a customer decision at all. It is unglamorous work with a directly measurable return.
How we work
- A double-entry ledger with immutable entries from the first line, because reconciliation cannot be added to a system that overwrote its history.
- Payout states — held, pending, sent, failed, reversed — are modelled explicitly rather than inferred from a flag.
- Dunning is built with the subscription, since involuntary churn is revenue lost to nobody's decision.
What this includes
Pick what you need and send it over.