Nordlet

← Blog

Stripe Connect Marketplace Accounting Workflow

A practitioner's guide to posting charges, fees, transfers, refunds, disputes, and reserves into a marketplace ledger that reconciles cleanly.

Nordlet Team · · 12 min lezen

De meeste boekhoudproblemen binnen marktplaatsen zijn terug te leiden naar één enkele fout: het behandelen van de Stripe-bankuitbetaling alsof dit omzet is. De uitbetaling is het nettoresultaat van tientallen afzonderlijke economische gebeurtenissen, en het boeken hiervan als één enkele omzetregel wist de commissie van het platform, de schuld aan de verkoper en elke verstopte vergoeding of geschil uit. Een correct werkstuk ontleedt de uitbetaling voordat er ook maar iets in het grootboek terechtkomt.

Deze gids volgt elke Stripe Connect-balanstransactiecategorie naar de juiste boekhoudkundige bestemming: vorderingen, commissie-omzet, verkopersverplichtingen, verwerkingskosten en tussenrekeningen. Het maakt gebruik van de gedocumenteerde import- en afwikkelingseindpunten van Nordlet als boekingsmechanisme, bevat een uitgewerkt voorbeeld van een afwikkeling en sluit af met een afletterchecklist die u voor elke periodeafsluiting kunt doorlopen.

Bidentificeer het Connect-kostenmodel voordat u iets ontwerpt

Boekhoudregels kunnen pas worden opgesteld wanneer u weet welk kostenmodel elke betaalstroom hanteert. Dit model bepaalt wiens Stripe-saldo de kosten draagt, wie de vergoedingen betaalt en waar terugbetalingen en geschillen als eerste worden verrekend.

Connect-model Kosten gecreëerd op Draagt Stripe-kosten Terugbetalingen/geschillen verminderen Boekhoudkundig gevolg
Direct charges (Directe kosten) Gekoppeld account Configureerbaar per partij Saldo gekoppeld account Platform registreert de applicatievergoeding als omzet; betaalactiviteit van de verkoper bevindt zich grotendeels op het grootboek van het gekoppelde account
Destination charges (Bestemmingskosten) Platform, met onmiddellijke overboeking naar één gekoppeld account Platform Platform Platform registreert de klantvordering en Stripe-vergoeding; het aandeel van de verkoper is een crediteurenpost, geen omzet
Separate charges and transfers (Afzonderlijke kosten en overboekingen) Platformkosten, daarna één of meer afzonderlijke overboekingen Platform Platform Kosten en verkopersoverboekingen zijn afzonderlijke gebeurtenissen; verkopersverplichting wordt onafhankelijk van de klantvordering gevolgd

De eigen documentatie van Stripe over hoe kosten werken in een Connect-integratie bevestigt dat bij bestemmingskosten en afzonderlijke kosten en overboekingen het platformsaldo de betalingskosten, terugbetalingen en chargebacks draagt. Bij directe kosten ontvangt het gekoppelde account de kosten, en kunnen de vergoedingen van beide partijen worden afgeschreven.

De praktische regel: zeg niet "de Stripe-uitbetaling is verkopersomzet" of "de verkoper betaalt de kosten" voordat u het kostenmodel voor elke stroom hebt vastgelegd. Sla dit model op bij elke transactie. Het door elkaar gebruiken van directe en bestemmingskosten onder één boekingregel is de snelste manier om zowel de omzet als de verplichtingen onjuist weer te geven.

Deze gids gaat uit van bestemmingskosten of afzonderlijke kosten en overboekingen, omdat in die scenario's het platformsaldo het boekhoudkundige gewicht draagt en de meeste marktplaatstboekhouden worden gebouwd.

Breng de geldstroom in kaart voordat u één enkele rij importeert

Voordat u ook maar iets importeert, tekent u een overzichtskaart van één pagina voor elke stroom:

Customer payment
  -> Stripe charge / payment balance transaction
  -> Stripe fee
  -> platform application fee (commission)
  -> transfer to connected account
  -> refund or dispute (if applicable)
  -> Stripe payout
  -> bank receipt

Elke pijl is een afzonderlijke balanstransactie met een eigen ID, categorie, bedrag en datums. Behandel het Stripe-saldo als een bankachtige tussenrekening: kosten stromen binnen, vergoedingen en overboekingen stromen eruit, en de uitbetaling verplaatst het resterende saldo naar de echte bank. De documentatie voor bank- en betalingsimporteren van Nordlet raadt precies deze behandeling aan voor reguliere Stripe-activiteiten.

Kies het juiste brondepot van Stripe

Voor automatische uitbetalingsbatches gebruikt u het gespecificeerde rapport Payout reconciliation, itemized. Dit levert één rij per balanstransactie op, groepeert rijen op reporting_category, koppelt elke rij aan een automatic_payout_id en biedt totalen voor bruto, kosten en netto. De rapportselectiegids van Stripe beschreven dit rapport en bevestigt dat charge_id, connected_account_id en destination_payment_id beschikbare Connect-velden zijn.

Waar automatische uitbetalingen niet zijn ingeschakeld (sommige handmatige uitbetalingsregelingen), gebruikt u in plaats daarvan het Balansrapport. Beschouw een uitbetalingsoverzicht uit het Dashboard niet als voldoende bewijs voor de boeking. Het overzicht bewijst het batchtotaal; alleen het gespecificeerde rapport verklaart de componenten.

Stripe raadt aan te classificeren op basis van reporting_category in plaats van het oudere type-veld, en elke rij draagt een source-ID dat aansluit op het onderliggende object. Let op de tijdsbeperking: Stripe geeft aan dat dagelijkse rapportgegevens doorgaans de volgende dag om twaalf uur 's middags beschikbaar zijn, en dat instant-uitbetalingen niet netjes kunnen worden toegewezen aan individuele transacties, waardoor ze een afzonderlijke transactiegeschiedenis-reconciliatie vereisen.

Classificeer elke balanstransactie op categorie

Gebruik reporting_category als primaire classificatie en inspecteer vervolgens source_id, charge_id en omschrijvingen. De mapping die ertoe doet:

Stripe-activiteit Rapportagecategorie Boekhoudkundige interpretatie
Klantbetaling, kaart of lokale betaalmethode charge Door de klant gefinancierde vordering of afwikkeling van verkoop
Terugbetaling refund Omkering van de oorspronkelijke klantbetaling
Inehouden verwerkingskosten door Stripe fee Betalingsverwerkingskosten
Platformapplicatievergoeding platform_earning Commissie-omzet
Terugbetaalde applicatievergoeding platform_earning_refund Vermindering van de commissie-omzet
Overboeking naar gekoppeld account transfer Vermindering van de verkopersverplichting
Tergedraaide overboeking transfer_reversal Terugvordering van het gekoppelde account
Chargeback dispute Chargeback-verlies; inspecteer het bronobject van het geschil
Gewonnen of teruggedraaide chargeback dispute_reversal Terugvordering van een eerder geboekt chargeback-verlies
Uitbetaling naar bank payout Bankbeweging, geen omzet
Tergedraaide uitbetaling payout_reversal Teruggave van tegoeden naar het Stripe-saldo
Ingehouden reserve connect_reserved_funds / risk_reserved_funds Beperkte tegoeden, standaard geen kosten
Innen van langdurig negatief saldo connect_collection_transfer Financierings- of terugvorderingsgebeurtenis die een risicobeleid vereist

Een terminologische waarschuwing: het oudere balanstransactieveld type gebruikt andere labels voor dezelfde gebeurtenissen, waaronder payment, application_fee en adjustment. De documentatie over balanstransactietypen van Stripe vermeldt beide vocabulaires. Combineer geen type-waarde in een reporting_category-regel en verzin geen categorie zoals dispute_loss die Stripe niet exporteert. Als een export een label bevat dat u niet herkent, behoud dan de geëxporteerde waarde en verifieer deze tegen het bronobject.

Boek normale marktplaatsactiviteiten in het grootboek

Voor een platform op basis van bestemmingskosten of afzonderlijke kosten en overboekingen zijn de conceptuele boekingen als volgt.

Klantbetaling (geld van de klant komt binnen op het Stripe-tegoed):

Dr Stripe clearing        Gross customer charge
    Cr Trade receivables   Gross customer charge

Stripe-verwerkingskosten:

Dr Stripe fee expense      Stripe fee
    Cr Stripe clearing     Stripe fee

Verreken de Stripe-kosten niet netto met de omzet, tenzij uw boekhoudbeleid dit expliciet vereist en ondersteunt.

Platformcommissie (uw omzet, onttrokken aan wat anders aan de verkoper verschuldigd zou zijn):

Dr Seller payable          Commission amount
    Cr Commission revenue   Commission amount

Verkopersoverboeking (het afwikkelen van verschuldigd geld, geen kosten):

Dr Seller payable          Transfer amount
    Cr Stripe clearing      Transfer amount

Een overboeking is nooit automatisch een kost. Het aandeel van de verkoper wordt een verplichting wanneer de betaling binnenkomt, en de overboeking heft die verplichting op. De afwikkelingsboekingsregels van Nordlet volgen dit principe: platform_earning-rijen worden geboekt op commissie-omzet, terwijl transfer-rijen de verkopersverplichting verminderen. De gedocumenteerde standaardboekingstools zijn settlements.commissionRevenue (standaard 5001), settlements.sellerPayable (standaard 4499), settlements.fees (standaard 6800) en settlements.suspense (standaard 4440), elk overschrijfbaar per bedrijf via de boekingsregels in de Nordlet API.

Verwerk terugbetalingen tegen de oorspronkelijke verkoop, niet als losse bankposten

Een terugbetaling is gekoppeld aan de oorspronkelijke betaling of factuur. Conceptueel:

Dr Refunds / sales reversals    Refund amount
    Cr Trade receivables         Refund amount

De daadwerkelijke boeking hangt ervan af of de omzet is erkend, of de btw moet worden gecorrigeerd en of er een platformapplicatievergoeding is terugbetaald. Een enkele terugbetaling kan resulteren in een correctie van de vordering, een btw-correctie, een terugbetaling van de applicatievergoeding, een teruggedraaide overboeking of vermindering van de verkopersverplichting, en een consequentie voor de Stripe-kosten die moet worden gecontroleerd in plaats van aangenomen.

De timingtrap: een terugbetaling wordt vaak in een latere uitbetaling verrekend dan de oorspronkelijke betaling. Geef de voorkeur aan het gespecificeerde uitbetalingsreconciliatierapport boven een gesynthetiseerde terugbetaling uit een betalingsexport. De documentatie van Nordlet waarschuwt expliciet dat een terugbetaling die is gesynthetiseerd uit een betalingsexport slechts een benadering is wanneer de terugbetaling later wordt verrekend. De afwikkelingsimporteur kan de terugbetalingsrij inlezen, deze matchen met de oorspronkelijke verkoop en de vordering omkeren wanneer de batch wordt geboekt.

Behandel geschillen los van terugbetalingen

Een geschil is een claim van een kaarthouder of uitgever, en Stripe kan zowel het betwiste bedrag als administratiekosten voor het geschil inhouden voorafgaand aan de oplossingen. Voor bestemmingskosten en afzonderlijke kosten en overboekingen schrijft Stripe beide af van het platformsaldo, volgens de richtlijnen voor terugbetalingen en geschillen. Het platform kan proberen het geld terug te vorderen door de verkopersoverboeking terug te draaien.

Een verloren geschil, vanuit het perspectief van het platform:

Dr Chargeback loss / receivable reopened   Disputed amount
Dr Dispute-fee expense                      Dispute fee
    Cr Stripe clearing                      Combined amount

Als de verkoper het verlies draagt en de terugvordering is bevestigd:

Dr Seller payable / recovery account   Recoverable amount
    Cr Chargeback recovery              Recoverable amount

Boek geen verhaalde bedragen bij de verkoper enkel omdat er om een teruggedraaide overboeking is verzocht. Controleer of de correctie is aangemaakt, is geslaagd en zichtbaar is in het Stripe-saldo. Als het geschil wordt gewonnen, stort Stripe het betwiste bedrag terug via een dispute_reversal-rij; draai het chargeback-verlies terug en behandel eventuele geschilomkosten die Stripe niet terugbetaalt afzonderlijk. Nordlet matcht chargeback-rijen op basis van de charge_id van een eerder gematchte betaling, uit hetzelfde bestand of uit een eerdere import.

Een uitgewerkt voorbeeld van een afwikkeling

Neem één automatische uitbetalingsbatch. Het gespecificeerde rapport bevat:

  • Een charge-rij: bruto 100,00, Stripe-kosten 3,20, netto 96,80
  • Een platform_earning-rij: 15,00, de commissie van het platform
  • Een transfer-rij: 81,80 naar de gekoppelde verkoper
  • Een refund-rij van een eerdere verkoop: bruto 20,00, die in deze batch wordt verrekend
  • Een payout-rij: het batchtotaal dat naar de bank wordt overgemaakt

De uitbetalingssamenstelling, volgens de afwikkelingsidentiteit van Stripe:

Gross charges                100.00
- refunds                     20.00
- Stripe fees                  3.20
- transfers                   81.80
= net to platform balance     -5.00

De platform_earning-rij verplaatst geen tweede keer geld. Deze benoemt de 15,00 die in het platformsaldo achterblijft zodra de kosten en de verkopersoverboeking eraf zijn, zodat het platform commissie-omzet kan erkennen in plaats van deze af te leiden.

Hier overtreffen de verkopersoverboeking plus de terugbetaling de nettokostenactiviteit, waardoor de batch per saldo licht negatief uitvalt en de volgende uitbetaling vermindert of inteert op het saldo. De geboekte journaalpost keert de terugbetaalde vordering om, herkent 15,00 aan commissie-omzet, registreert 3,20 aan kosten, vermindert de verkopersverplichting met de overboeking en boekt de terugbetaling terug. De bankregel komt overeen met het nettobedrag dat op de rekening binnenkomt. Geen enkel los cijfer is gelijk aan "omzet", en dat is precies het punt.

Importeren en boeken via het afwikkelingseindpunt van Nordlet

Voor reconciliatie op uitbetalingsniveau gebruikt u:

POST /v1/bank/settlements/import

met de Stripe-provider en het gespecificeerde CSV-bestand. Nordlet groepeert rijen op automatic_payout_id, verandert elke uitbetaling in een afwikkelingsbatch met totalen voor bruto, kosten en netto, slaat her-importen van een reeds geboekte uitbetaling over, slaat payout-rijen uit de uitbetalingssamenstelling over en matcht automatisch betalings-, terugbetalings- en geschilrijen op basis van order-, factuur-, PaymentIntent-, charge-, source- of metadata-referenties. Stripe deelt het gespecificeerde rapport op in één bestand per sectie, dus importeer de betalings-, terugbetalings- en kostenbestanden samen: rijen die behoren tot een uitbetaling die al is geïmporteerd maar nog niet is geboekt, worden samengevoegd in de bestaande batch. Dit is een import-en-boek-workflow gestuurd door bestanden en afwikkelingseindpunten, en geen live Stripe-connector; de functiespagina vermeldt wat de bank- en afwikkelingszijde dekt.

Match in de volgende volgorde: betalingen aan facturen, terugbetalingen aan oorspronkelijke betalingen, geschillen aan oorspronkelijke betalingen, commissierijen aan de commissiebehandeling. Houd Stripe-kosten, correcties, reserves en uitbetalingsrijen buiten factuurmatching. De woordenlijst voor betalingsreconciliatie van Nordlet stelt dat kosten- en correctieregels ontwerpsmatig niet koppelbaar zijn aan facturen; stuur onopgeloste geldstromen naar een tussenrekening. Handmatige correctie gebeurt via bank/settlements/match { lineId, invoiceId }, waarbij een null invoiceId wordt gebruikt om de match ongedaan te maken.

Boek vervolgens één gebalanceerde batch:

POST /v1/bank/settlements/post

Dit creëert één gebalanceerd journaal, wikkelt gematchte facturen af, debiteert de grootboekrekening van de bankrekening voor de netto-uitbetaling, debiteert kosten, crediteert vorderingen voor betalingen, keert vorderingen om voor terugbetalingen en chargebacks, splitst niet-gematchte marktplaatsbetalingen op in commissie-omzet en verkopersverplichtingen wanneer commissionPercent wordt meegeleverd, en stuurt onopgeloste bedragen naar een tussenrekening. Elke categorie die het systeem niet herkent, belandt eveneens op de tussenrekening, en de respons vermeldt deze categorieën in een waarschuwing in plaats van ze stilzwijgend te verwerken.

Reconciliatiechecklist

Voer deze beweringen uit voor elke afsluiting:

  • Geen dubbele balance_transaction_id
  • Geen dubbele (provider, payout_id) afwikkelingsbatch
  • Som van de regel net is gelijk aan het nettototaal van de batch
  • Batchnetto is gelijk aan de bankuitbetaling, onder voorbehoud van timing en valuta-beleid
  • Elke terugbetaling heeft een oorspronkelijke betaling of een gelogde uitzondering
  • Elk geschil heeft een geschil- of betalingsreferentie
  • Elke overboeking heeft een gekoppeld-account-ID
  • Elke platform_earning-rij heeft een gedefinieerde commissiebehandeling
  • Tussenrekening is nul of volledig beoordeeld, inclusief eventuele niet-erkende categorieën die worden vermeld in de boekingswaarschuwing
  • Verkopersverplichting is niet negatief zonder goedgekeurd voorschot of terugvorderingsbeleid
  • Geboekte batches kunnen niet stilzwijgend opnieuw worden geïmporteerd of geboekt
  • Een uitbetaling in een andere valuta dan de basisvaluta van het bedrijf wordt omgerekend tegen de wisselkoers op de uitbetalingsdatum, waarbij het verschil ten opzichte van de eigen koers van elke factuur wordt geboekt als een gerealiseerd wisselkoersresultaat; een uitbetaling die valuta's mengt, wordt bij import afgewezen

Reconcilieer op drie niveaus: regel (elke transactie heeft een bewaard ID, categorie, bedrag, valuta, bron), uitbetaling (gespecificeerde nettototalen zijn gelijk aan de Stripe-uitbetaling en bankontvangst) en grootboek (het geboekte journaal is in balans en levert de beoogde omzet-, kosten-, vorderings-, verkopersverplichtings- en tussenrekeningsposities op). Controleer specifiek voor verkoperssaldi of de openingsbalans van de verkopersverplichting plus het nieuwe verkopersaandeel, minus overboekingen en geldige correcties, gelijk is aan de eindsaldo van de verkopersverplichting.

Het terugkerende probleem bij elk marktplaatsgrootboek is dezelfde als waarmee het begon: het samenvouwen van een gestructureerde uitbetaling tot één enkel getal. Houd de componenten gescheiden, koppel elke component aan een stabiel Stripe-identificatiemiddel en laat een tussenrekening alles vasthouden wat u nog niet kunt verklaren. Een schone afsluiting is waar een accountant op zal vertrouwen.

FAQ

Is de Stripe-uitbetaling de omzet van het platform?

Nee. De uitbetaling is het nettosaldo van betalingen, terugbetalingen, verwerkingskosten, verkopersoverboekingen, geschillen en correcties die toevallig in dezelfde batch zijn verrekend. Het boeken hiervan als één omzetregel wist de verkopersverplichting en de verwerkingskosten daarbinnen uit. Voor een agentuurmarktplaats is de omzet de commissie, die wordt geïdentificeerd door de platform_earning-rijen.

Met welk Stripe-rapport moet ik reconciliëren?

Het gespecificeerde uitbetalingsreconciliatierapport (Payout reconciliation, itemized), omdat dit één rij per balanstransactie oplevert met een reporting_category, een automatic_payout_id en bruto-, kosten- en nettobedragen. Een Dashboard-uitbetalingsoverzicht bewijst alleen het batchtotaal. Waar automatische uitbetalingen niet zijn ingeschakeld, gebruikt u in plaats daarvan het Balansrapport.

Moet een overboeking naar een verkoper worden geboekt als kosten?

Nee. Het aandeel van de verkoper wordt een verplichting op het moment dat de klantbetaling binnenkomt, en de overboeking heft die verplichting op. Het boeken van overboekingen als kosten leidt tot dubbeltelling van kosten en zorgt ervoor dat de verkopersverplichting permanent te hoog wordt weergegeven.

Wat gebeurt er met een Stripe-rij waarvan de importeur de categorie niet herkent?

Deze wordt geboekt op de tussenrekening voor afwikkelingen, standaard 4440, en de respons op de boeking retourneert een waarschuwing waarin de categorieën worden vermeld die daarheen zijn gegaan. Reserves en ongebruikelijke correcties belandden doorgaans op deze manier, en dat is opzettelijk: het geld blijft zichtbaar en het journaal blijft in balans totdat iemand beslist waar het hoort.

Hoe worden terugbetalingen verwerkt die in een latere uitbetaling worden verrekend?

Deze arriveren als een refund-rij in het gespecificeerde rapport van de latere uitbetaling en worden teruggekoppeld naar de oorspronkelijke betaling via de charge_id van de eerdere gematchte betaling. Een terugbetaling die is gesynthetiseerd uit een betalingsexport op betalingsniveau is in dit geval slechts een benadering, waardoor het gespecificeerde rapport de veiligere bron is.

Verder lezen