🎓 CoursesMarkets & internationalAdvanced⏱ 60 min

Running a multi-country marketplace. 7 chapters and a final quiz.

The operating manual for a marketplace that sells in one country and pays sellers in fifteen. Set up the chart of accounts and the split engine, wire the safeguarding account and its daily reconciliation, and put numbers on the choice between a licensed partner and your own license. Then collect the right business identifier in each market, set the payout schedule against the dispute window, work a three-party dispute, and produce the DAC7 and 1099-K extracts from a single ledger.

Chapter 1. The chart of accounts and the split engine.

A marketplace collects money that is not entirely its own. The first technical deliverable is neither the provider’s API nor the checkout flow. It is a ledger that knows, to the second, who owns every cent held. Everything else hangs off it. The reconciliation in chapter 2, the reserve in chapter 5, and the tax report in chapter 7 all read this same ledger. A badly designed ledger costs you for years.

Five accounts, and not one fewer

  • Safeguarding account: the actual bank account that holds third-party funds. A single line, the one on the bank statement.
  • Seller balances: one subledger per seller, moved by sales, refunds, and clawbacks. The total can always be computed.
  • Earned commissions: the platform’s share, set aside at collection and withdrawn by an identifiable, dated outgoing transfer.
  • Risk reserve: amounts held back for a seller or a category, owed to the seller but not yet available.
  • Operating account: the platform’s own account, outside the safeguarding scope. No third-party funds ever enter it.
🔑
The invariant to check after every entry
The sum of seller balances, plus earned commissions not yet withdrawn, plus the reserve held, equals the safeguarding account balance, adjusted for outflows in flight. This equation is checked in the database, not in a monthly spreadsheet. An entry that breaks it must fail on the spot and raise an alert. An imbalance discovered three weeks later can’t be fixed. It has to be investigated.

The split itself runs on versioned rules, never on code. Six parameters decide the result, and their order of application matters as much as their values. First the line price, then shipping fees, allocated to the seller or the platform, then the discount and who funds it. Next comes the commission base, with or without shipping, tax-inclusive or not, then the tax on the commission itself, and finally rounding.

A two-seller order, from price to balance
CMD-2026-40118   3 lines   2 sellers   shipping 4.90 EUR paid by the buyer

  L1  seller V-8842   33.33 EUR   commission 12.5%
  L2  seller V-8842   33.33 EUR   commission 12.5%
  L3  seller V-1907   33.34 EUR   commission 18.0%   + shipping 4.90 EUR
      shipping goes to the seller and stays outside the commission base

1) commission line by line, rounded to the nearest cent
   L1   33.33 x 0.125 = 4.16625  ->  4.17
   L2   33.33 x 0.125 = 4.16625  ->  4.17
   L3   33.34 x 0.180 = 6.00120  ->  6.00

2) seller share = line price MINUS line commission
   never a second percentage: the classic source of the lost cent
   L1   33.33 - 4.17 = 29.16
   L2   33.33 - 4.17 = 29.16
   L3   33.34 - 6.00 = 27.34   + 4.90 shipping = 32.24

3) balance check, run before the entry is committed
   collected         33.33 + 33.33 + 33.34 + 4.90 = 104.90
   seller balances   29.16 + 29.16 + 32.24         =  90.56
   commissions        4.17 +  4.17 +  6.00         =  14.34
   90.56 + 14.34 = 104.90   ->  balance OK
EventSafeguarding accountSeller balanceEarned commissions
Buyer payment collected+ total amount+ seller share+ commission
Full refund− amount refunded− seller share− commission clawed back, per the contract
Payout to the seller− amount paid out− amount paid outunchanged
Platform withdrawal− amount withdrawnunchanged− amount withdrawn
Chargeback after payout− amount reversed− seller share, balance may go negative− commission clawed back
Bank fees on the accountno movementnonenone, they are paid from the operating account
Which account each event moves
⚠️
A negative balance is a planned state, not an incident
Clawing back funds from a seller with no sales in progress produces a negative balance. The ledger must be able to record it, carry it, net it against later collections, and reclassify it as a receivable after a period set in advance. A database that forbids negative balances forces teams to work around the model. The workaround always ends up in a suspense account that nobody can explain anymore.
🎯 Quick question
On a €33.33 line with a 12.5% commission, how should you compute the seller’s share?