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 · · 13 min čitanja

Većina problema s računovodstvom na platformama (marketplace) može se pripisati jednoj pogrešci: tretiranju Stripe isplate na bankovni račun kao da je riječ o prihodu. Isplata predstavlja neto ostatak desetaka zasebnih ekonomskih događaja, a njezinim knjiženjem kao jedinstvene stavke prihoda brišu se provizija platforme, obveza prema prodavatelju te svaka naknada i spor koji se unutar nje nalaze. Ispravan tijek rada raščlanjuje isplatu prije nego što bilo što dospije u glavnu knjigu.

Ovaj vodič prati svaku kategoriju transakcije sa Stripe Connect salda do njezina odgovarajućeg računovodstvenog mjesta: potraživanja, prihoda od provizija, obveza prema prodavateljima, troškova obrade i prijelaznih stavki. Kao mehanizam knjiženja koristi dokumentirane krajnje točke (endpoints) za uvoz i zatvaranje iz Nordleta, uključuje primjer obračuna s rješenjem te završava kontrolnim popisom za usklađivanje koji možete provesti prije svakog zaključenja razdoblja.

Utvrdite model naplate usluge Connect prije nego što bilo što osmislite

Računovodstvena pravila ne mogu se napisati dok ne saznate koji model naplate koristi pojedini tijek plaćanja. Model određuje čiji Stripe saldo snosi teret naplate, tko snosi troškove naknada te gdje povrati sredstava i sporovi prvenstveno dolaze do izražaja.

Connect model Naplata kreirana na Snosi Stripe naknade Povrati/sporovi smanjuju Računovodstvena posljedica
Izravna naplata (Direct charges) Povezanom računu Može se prilagoditi po sudioniku Saldo povezanog računa Platforma knjiži svoju naknadu za posredovanje kao prihod; aktivnost plaćanja prodavatelja uglavnom se vodi u glavnoj knjizi povezanog računa
Odredišna naplata (Destination charges) Platformi, uz trenutni prijenos na jedan povezani račun Platformi Platformi Platforma knjiži potraživanje od kupca i Stripe naknadu; udio prodavatelja je obveza, a ne prihod
Odvojena naplata i prijenosi (Separate charges and transfers) Naplati na platformi, nakon čega slijedi jedan ili više odvojenih prijenosa Platformi Platformi Naplata i prijenosi prodavatelju zasebni su događaji; obveza prema prodavatelju prati se neovisno o naplati od kupca

Stripeove vlastite upute o tome kako funkcioniraju naplate u Connect integraciji potvrđuju da kod odredišne naplate te odvojene naplate i prijenosa saldo platforme snosi naknade za obradu plaćanja, povrate i povrate sredstava (chargeback). Kod izravnih naplata, povezani račun prima naplatu, a naknade se mogu teretiti s bilo koje strane.

Praktično pravilo glasi: nemojte tvrditi da je „Stripe isplata prihod prodavatelja” ili da „prodavatelj plaća naknade” sve dok niste zapisali model naplate za svaki tijek. Spremite taj model uz svaku transakciju. Miješanje izravne i odredišne naplate pod jednim pravilom knjiženja najbrži je put do pogrešnog prikazivanja i prihoda i obveza.

Ovaj vodič pretpostavlja korištenje odredišne naplate ili odvojene naplate i prijenosa, jer je to slučaj u kojem saldo platforme nosi računovodstvenu težinu i gdje se gradi većina glavnih knjiga za platforme.

Mapirajte tijek novca prije uvoza ijednog retka

Prije nego što započnete s uvozom, nacrtajte jednodnevnu mapu transakcija za svaki tijek:

Plaćanje kupca
  -> Stripe naplata / saldo transakcije plaćanja
  -> Stripe naknada
  -> naknada za posredovanje platforme (provizija)
  -> prijenos na povezani račun
  -> povrat ili spor (ako je primjenjivo)
  -> Stripe isplata
  -> primitak na banci

Svaka strelica predstavlja zasebnu transakciju salda s vlastitim ID-jem, kategorijom, iznosom i datumima. Tretirajte Stripe saldo kao klirinški račun sličan bankovnom: uplate pristižu, naknade i prijenosi odlaze, a isplata preostali iznos prebacuje na pravu banku. Dokumentacija za uvoz bankovnih i platnih podataka u Nordletu preporuča upravo ovakav tretman za uobičajene Stripe aktivnosti.

Odaberite pravo izvorno izvješće sa Stripe-a

Za serije isplata s automatskom obradom koristite Stripeovo izvješće Usklađivanje isplata, stavku po stavku (Payout reconciliation, itemized). Ono daje jedan redak po transakciji salda, grupira retke prema polju reporting_category, povezuje svaki redak s identifikatorom automatic_payout_id te pruža bruto, neto iznose i iznose naknada. Stripeov vodič za odabir izvješća dokumentira ovo izvješće i potvrđuje charge_id, connected_account_id i destination_payment_id kao dostupna Connect polja.

Tamo gdje automatske isplate nisu omogućene (u nekim dogovorima s ručnim isplatama), umjesto toga koristite izvješće o saldu (Balance report). Nemojte tretirati sažetak isplata s nadzorne ploče (Dashboard) kao dovoljan dokaz za knjiženje. Sažetak dokazuje ukupni iznos serije, dok samo izvješće stavku po stavku objašnjava sastavne dijelove.

Stripe preporučuje klasifikaciju prema polju reporting_category umjesto starijeg polja type, pri čemu svaki redak nosi ID source koji se povezuje s temeljnim objektom. Imajte na umu vremensko ograničenje: Stripe navodi da su podaci dnevnih izvješća obično dostupni do podneva sljedećeg dana, a trenutne (instant) isplate ne mogu se uredno dodijeliti pojedinačnim transakcijama, stoga one zahtijevaju zasebno usklađivanje povijesti transakcija.

Klasificirajte svaku transakciju salda prema kategoriji

Kao primarni klasifikator koristite reporting_category, a zatim provjerite source_id, charge_id i opise. Važno je sljedeće mapiranje:

Stripe aktivnost Kategorija izvještavanja (reporting_category) Računovodstveno tumačenje
Naplata od kupca, kartica ili lokalni način plaćanja charge Potraživanje financirano od kupca ili zatvaranje prodaje
Povrat sredstava refund Storniranje izvorne uplate kupca
Naknada za obradu koju zadržava Stripe fee Trošak obrade plaćanja
Naknada za posredovanje platforme platform_earning Prihod od provizije
Vraćena naknada za posredovanje platform_earning_refund Smanjenje prihoda od provizije
Prijenos na povezani račun transfer Smanjenje obveze prema prodavatelju
Stornirani prijenos transfer_reversal Povrat sredstava s povezanog računa
Povrat sredstava po prigovoru (Chargeback) dispute Gubitak po osnovi povrata sredstava; pregledati izvorni objekt spora
Dobiven ili storniran spor dispute_reversal Naplata prethodno knjiženog spora
Isplata na bankovni račun payout Novčano kretanje na banci, ne predstavlja prihod
Stornirana isplata payout_reversal Povrat sredstava na Stripe saldo
Zadržana rezerva connect_reserved_funds / risk_reserved_funds Ograničena sredstva, prema zadanim postavkama nisu trošak
Naplata dugotrajnog negativnog salda connect_collection_transfer Događaj financiranja ili naplate koji zahtijeva politiku upravljanja rizicima

Jedno upozorenje u vezi s nazivljem: starije polje type za transakcije salda koristi drugačije oznake za iste događaje, među kojima su payment, application_fee i adjustment. Stripeova dokumentacija o vrstama transakcija salda navodi oba rječnika. Nemojte miješati vrijednost polja type u pravilo za reporting_category i nemojte izmišljati kategoriju poput dispute_loss koju Stripe ne izvozi. Ako izvoz sadrži oznaku koju ne prepoznajete, zadržite izvezenu vrijednost i provjerite je u odnosu na izvorni objekt.

Knjižite uobičajene marketplace aktivnosti u glavnu knjigu

Za platformu koja koristi odredišnu naplatu ili odvojenu naplatu i prijenose, konceptualna knjiženja su sljedeća.

Naplata od kupca (novac kupca ulazi u Stripe klirinški saldo):

Duguje: Stripe klirinški račun       Bruto naplata od kupca
    Potražuje: Kupci (potraživanja)    Bruto naplata od kupca

Stripe naknada za obradu:

Duguje: Trošak Stripe naknada        Stripe naknada
    Potražuje: Stripe klirinški račun  Stripe naknada

Nemojte prebijati (netirati) Stripe naknadu s prihodom osim ako vaša računovodstvena politika izričito ne nalaže i ne podržava neto prezentaciju.

Provizija platforme (vaš prihod, koji se izdvaja iz iznosa koji bi inače bio dugovan prodavatelju):

Duguje: Obveze prema prodavateljima   Iznos provizije
    Potražuje: Prihodi od provizija   Iznos provizije

Prijenos prodavatelju (namira dospjelog novca, ne predstavlja trošak):

Duguje: Obveze prema prodavateljima   Iznos prijenosa
    Potražuje: Stripe klirinški račun  Iznos prijenosa

Prijenos nikada automatski nije trošak. Udio prodavatelja postaje obveza u trenutku kada naplata sjedne, a prijenos gasi tu obvezu. Pravila knjiženja namire u Nordletu slijede ovo pravilo: retci s oznakom platform_earning knjiže se u prihod od provizije, dok retci s oznakom transfer smanjuju obvezu prema prodavatelju. Dokumentirani zadani ključevi za knjiženje su settlements.commissionRevenue (zadano 5001), settlements.sellerPayable (zadano 4499), settlements.fees (zadano 6800) i settlements.suspense (zadano 4440), pri čemu se svaki može prilagoditi po tvrtki putem pravila knjiženja u Nordlet API-ju.

Obradite povrate sredstava u odnosu na izvornu prodaju, a ne kao proizvoljne bankovne stavke

Povrat sredstava povezan je s izvornom naplatom ili veleprodajnim računom. Konceptualno:

Duguje: Povrati / storno prodaje       Iznos povrata
    Potražuje: Kupci (potraživanja)    Iznos povrata

Pravo knjiženje ovisi o tome je li prodaja već bila priznata, je li potrebno stornirati porez te je li vraćena naknada za posredovanje platforme. Jedan povrat sredstava može rezultirati storniranjem potraživanja, storniranjem poreza, povratom naknade za posredovanje, storniranjem prijenosa ili smanjenjem obveze prema prodavatelju, kao i utjecajem na Stripe naknadu koju je potrebno provjeriti, umjesto da se uzima zdravo za gotovo.

Vremenska zamka: povrat sredstava se često namiruje u kasnijoj isplati nego izvorna naplata. Prednost uvijek dajte izvješću o usklađivanju isplata stavku po stavku u odnosu na sintetizirani povrat iz izvoza na razini naplata. Nordletova dokumentacija izričito upozorava da je povrat sintetiziran iz izvoza plaćanja samo aproksimacija kada se povrat namiruje kasnije. Uvoznik namire može preuzeti redak povrata, povezati ga s izvornom prodajom i stornirati potraživanje kada se serija knjiži.

Odvojeno tretirajte sporove od povrata sredstava

Spor predstavlja zahtjev imatelja kartice ili banke izdavača, pri čemu Stripe prije rješavanja spora može teretiti i osporavani iznos i naknadu za spor. Za odredišnu naplatu te odvojenu naplatu i prijenose, Stripe tereti saldo platforme za oboje, u skladu sa svojim uputama za povrate i sporove. Platforma može pokušati izvršiti naplatu povratom prebacivanja sredstava prodavatelju.

Izgubljeni spor, s gledišta platforme:

Duguje: Gubitak po prigovorima / ponovno otvoreno potraživanje   Osporavani iznos
Duguje: Trošak naknade za spor                                Naknada za spor
    Potražuje: Stripe klirinški račun                          Zbrojeni iznos

Ako prodavatelj snosi gubitak i potvrđena je naplata:

Duguje: Obveze prema prodavateljima / račun naplate   Iznos za naplatu
    Potražuje: Naplata po prigovorima                  Iznos za naplatu

Nemojte knjižiti naplatu od prodavatelja samo zato što je zatraženo storniranje prijenosa. Provjerite je li storniranje kreirano, je li uspjelo i pojavljuje li se na Stripe saldu. Ako je spor dobiven, Stripe vraća osporavani iznos putem retka dispute_reversal; stornirajte gubitak po prigovoru i zasebno obradite svaku naknadu za spor koju Stripe ne vraća. Nordlet uparuje retke prigovora koristeći charge_id prethodno uparene naplate, iz iste datoteke ili iz ranijeg uvoza.

Primjer obračuna isplate s rješenjem

Uzmite jednu seriju automatskih isplata. Izvješće stavku po stavku sadrži:

  • Redak naplate (charge): bruto 100.00, Stripe naknada 3.20, neto 96.80
  • Redak naknade za posredovanje (platform_earning): 15.00, provizija platforme
  • Redak prijenosa (transfer): 81.80 povezanom prodavatelju
  • Redak povrata (refund) od ranije prodaje: bruto 20.00, namiruje se u ovoj seriji
  • Redak isplate (payout): ukupni iznos serije koji ide na banku

Sastav isplate, prateći Stripeov identitet namire:

Bruto naplate                100.00
- povrati                     20.00
- Stripe naknade               3.20
- prijenosi                   81.80
= neto za saldo platforme     -5.00

Redak platform_earning ne miče novac po drugi put. On označava iznos od 15.00 koji ostaje na saldu platforme nakon što se naknada i prijenos prodavatelju izdvoje, čime platforma može evidentirati prihod od provizije umjesto da ga zaključuje dedukcijom.

Ovdje prijenos prodavatelju plus povrat premašuju neto aktivnost naplate, pa se serija svodi na mali minus i smanjuje sljedeću isplatu ili crpi saldo. Proknjiženi temeljnica stornira vraćeno potraživanje, priznaje prihod od provizije u iznosu od 15.00, knjiži trošak naknade od 3.20, smanjuje obvezu prema prodavatelju za iznos prijenosa te knjiži storno povrata. Bankovna stavka odgovara neto iznosu koji pristiže na račun. Nijedna pojedinačna brojka ne predstavlja „prihod”, što i jest poanta.

Uvoz i knjiženje putem Nordletove krajnje točke za namiru

Za usklađivanje na razini isplate koristite:

POST /v1/bank/settlements/import

uz Stripe pružatelja usluga i CSV datoteku stavku po stavku. Nordlet grupira retke prema automatic_payout_id, svaku isplatu pretvara u seriju namire s bruto, neto iznosima i iznosima naknada, preskače ponovni uvoz već proknjižene isplate, preskače retke payout iz sastava namire te automatski uparuje retke naplate, povrata i sporova koristeći narudžbe, račune, PaymentIntent, naplate, izvore ili metapodatke. Stripe dijeli izvješće stavku po stavku u jednu datoteku po odjeljku, stoga uvezite datoteke naplata, povrata i naknada zajedno: retci koji pripadaju isplati koja je već uvezena, ali još nije proknjižena, spajaju se u postojeću seriju. Ovo je tijek rada uvoza i knjiženja vođen datotekama i krajnjim točkama namire, a ne aktivni Stripe konektor; stranica s značajkama navodi što obuhvaća bankovna strana i strana namire.

Uparujte redoslijedom: naplate s računima, povrate s izvornim naplatama, sporove s izvornim naplatama, retke provizija s tretmanom provizija. Držite Stripe naknade, usklađenja, rezerve i retke isplata podalje od usklađivanja računa. Rječnik usklađivanja plaćanja u Nordletu navodi da se linije naknada i usklađivanja po dizajnu ne mogu upariti s računima; neriješene stavke koje nose novac usmjerite na prijelazni račun (suspense). Ručni ispravak koristi bank/settlements/match { lineId, invoiceId }, s vrijednošću null za invoiceId u svrhu poništenja uparivanja.

Zatim proknjižite jednu uravnoteženu seriju:

POST /v1/bank/settlements/post

Ovo stvara jednu uravnoteženu temeljnicu, namiruje uparene račune, zadužuje konto glavne knjige bankovnog računa za neto isplatu, zadužuje naknade, odobrava potraživanja za naplate, stornira potraživanja za povrate i povrate sredstava po prigovorima, dijeli neuaparene marketplace naplate između prihoda od provizije i obveze prema prodavatelju kada je naveden commissionPercent, te šalje neriješene iznose na prijelazni račun. Svaka kategorija koju ne prepozna također završava na prijelaznom računu, pri čemu odgovor imenuje te kategorije u upozorenju umjesto da ih prešutno apsorbira.

Kontrolni popis za usklađivanje

Provedite ove provjere prije svakog zaključenja razdoblja:

  • Nema duplih vrijednosti za balance_transaction_id
  • Nema duplih serija namire po ključu (provider, payout_id)
  • Zbroj neto iznosa redaka jednak je neto iznosu serije
  • Neto iznos serije jednak je isplati na banci, podložno vremenskim i valutnim pravilima
  • Svaki povrat ima izvornu naplatu ili evidentiranu iznimku
  • Svaki spor ima referencu na spor ili naplatu
  • Svaki prijenos ima ID povezanog računa
  • Svaki redak platform_earning ima definiran tretman provizije
  • Prijelazni račun (suspense) je nula ili je u potpunosti pregledan, uključujući sve neprepoznate kategorije navedene u upozorenju o knjiženju
  • Obveze prema prodavateljima nisu u minusu bez odobrene politike predujma ili naplate
  • Proknjižene serije ne mogu se prešutno ponovno uvoziti ili knjižiti
  • Isplata u valuti koja nije osnovna valuta tvrtke preračunava se po tečaju na dan isplate, pri čemu se razlika u odnosu na vlastiti tečaj svakog računa knjiži kao realizirani tečajni dobitak ili gubitak; isplata koja miješa valute odbija se prilikom uvoza

Usklađivanje provedite na tri razine: redak (svaka transakcija ima očuvan ID, kategoriju, iznos, valutu, izvor), isplata (neto iznosi stavki jednaki su Stripe isplati i primitku na banci) i glavna knjiga (proknjižena temeljnica je uravnotežena i daje željene pozicije prihoda, naknada, potraživanja, obveza prema prodavateljima i prijelaznih stavki). Specifično za salda prodavatelja, provjerite jesu li početne obveze prema prodavateljima uvećane za novi udio prodavatelja, umanjene za prijenose i valjane storno stavke, jednake završnim obvezama prema prodavateljima.

Kvar koji se ponavlja u svakoj glavnoj knjizi platforme uvijek je isti onaj s kojim je i započela: sažimanje strukturirane isplate u jedinstvenu brojku. Držite komponente odvojenima, pričvrstite svaku za stabilan Stripe identifikator i prepustite prijelaznom računu da drži sve što još uvijek ne možete objasniti. Uredno zaključivanje razdoblja je ono u koje će revizor imati povjerenja.

FAQ

Je li Stripe isplata prihod platforme?

Ne. Isplata je neto iznos naplata, povrata, naknada za obradu, prijenosa prodavateljima, sporova i usklađenja koji su se zatekli u istoj seriji. Knjiženje isplate kao jedne stavke prihoda briše obvezu prema prodavatelju i trošak obrade koji se u njoj nalaze. Za posredničku platformu, prihod je provizija koju identificiraju retci platform_earning.

S kojim Stripe izvješćem trebam uskladiti podatke?

S izvješćem o usklađivanju isplata stavku po stavku (Payout reconciliation, itemized), jer daje jedan redak po transakciji salda s kategorijom reporting_category, identifikatorom automatic_payout_id te bruto, neto iznosima i iznosima naknada. Sažetak isplata s nadzorne ploče dokazuje samo ukupan iznos serije. Tamo gdje automatske isplate nisu omogućene, koristite izvješće o saldu.

Treba li prijenos prodavatelju knjižiti kao trošak?

Ne. Udio prodavatelja postaje obveza u trenutku kada naplata od kupca sjedne, a prijenos gasi tu obvezu. Knjiženje prijenosa kao troška dvostruki je trošak i ostavlja obvezu prema prodavatelju trajno preplaćenom.

Što se događa sa Stripe retkom čiju kategoriju uvoznik ne prepoznaje?

On se knjiži na prijelazni račun namire (suspense), zadano 4440, a odgovor na knjiženje vraća upozorenje koje imenuje kategorije koje su ondje završile. Rezerve i neuobičajena usklađenja obično završavaju na ovaj način, što je i namjerno: novac ostaje vidljiv, a temeljnica ostaje uravnotežena sve dok netko ne odluči kamo on pripada.

Kako se obrađuju povrati sredstava koji se namiruju u kasnijoj isplati?

Oni stižu kao redak povrata (refund) u izvješću stavku po stavku kasniije isplate i uparuju se natrag s izvornom naplatom putem polja charge_id ranije uparene naplate. Povrat sintetiziran iz izvoza plaćanja na razini naplata u ovom je slučaju samo aproksimacija, stoga je izvješće stavku po stavku sigurniji izvor.

Daljnje čitanje