Nordlet

← Blog

Účtovný pracovný postup pre trhoviská so systémom Stripe Connect

Praktická príručka pre účtovníkov na zaúčtovanie platieb, poplatkov, prevodov, vrátení peňazí, sporov a rezerv do hlavnej knihy trhoviska, ktorá sa dá prehľadne spárovať.

Nordlet Team · · 12 min. čítania

Väčšina problémov s účtovníctvom na trhoviskách (marketplace) pramení z jedinej chyby: nakladania s výplatou zo Stripe (payout) tak, akoby išlo o tržbu. Výplata je čistým zostatkom desiatok samostatných ekonomických udalostí a jej zaúčtovaním do jedného výnosového riadku vymažete províziu platformy, záväzok voči predajcovi a všetky poplatky či spory, ktoré sú v nej skryté. Správny pracovný postup rozkladá výplatu na drobné predtým, než čokoľvek vstúpi do účtovnej knihy.

Táto príručka mapuje jednotlivé kategórie transakcií so zostatkom (balance transaction) v systéme Stripe Connect do ich správnych účtovných priečinkov: pohľadávky, výnosy z provízií, záväzky voči predajcom, náklady na spracovanie platieb a prechodné účty. Ako mechanizmus zaúčtovania využíva dokumentované koncové body (endpoints) na import a vysporiadanie v systéme Nordlet, obsahuje praktický príklad vysporiadania a končí sa kontrolným zoznamom párovania, ktorý môžete spustiť pred každou závierkou.

Pred navrhovaním systému identifikujte model platieb v Connecte

Účtovné pravidlá nemožno napísať skôr, než budete vedieť, ktorý model platieb (charge model) využíva daný platobný tok. Tento model určí, na čom sa v Stripe zostatku transakcia prejaví, kto znáša poplatky a kde sa najskôr prejavia vrátenia peňazí a spory.

Model Connect Platba sa vytvára na Poplatky Stripe znáša Vrátenia peňazí / spory znižujú Účtovný dôsledok
Priame platby (Direct charges) Prepojený účet Konfigurovateľné pre každú stranu Zostatok prepojeného účtu Platforma zaúčtuje svoj provízny poplatok (application fee) ako výnos; platobná aktivita predajcu sa nachádza prevažne v účtovnej knihe prepojeného účtu
Cieľové platby (Destination charges) Platforma s okamžitým prevodom na jeden prepojený účet Platforma Platforma Platforma zaúčtuje pohľadávku voči zákazníkovi a poplatok Stripe; podiel predajcu predstavuje záväzok, nie výnos
Samostatné platby a prevody (Separate charges and transfers) Platba na platforme, potom jeden alebo viac samostatných prevodov Platforma Platforma Platba a prevody pre predajcu sú samostatné udalosti; záväzok voči predajcovi sa sleduje nezávisle od platby zákazníka

Vlastné usmernenie spoločnosti Stripe týkajúce sa fungovania platieb v integrácii Connect potvrzuje, že pri cieľových platbách a samostatných platbách a prevodoch znáša poplatky za spracovanie, vrátenia peňazí a reklamácie zostatok platformy. Pri priamych platbách prijíma platbu prepojený účet a poplatky môžu byť zaúčtované ťarchou (debetom) ktorejkoľvek strane.

Praktické pravidlo: hovorte, že „výplata zo Stripe je tržbou predajcu“ alebo „predajca plati poplatky“ až vtedy, keď máte pre každý tok písomne zaznamenaný model platieb. Tento model ukladajte spolu s každou transakciou. Miešanie priamych a cieľových platieb pod jedno účtovné pravidlo je najrýchlejšou cestou k nesprávnemu vykazovaniu výnosov aj záväzkov.

Táto príručka predpokladá cieľové platby alebo samostatné platby a prevody, pretože práve tu zostatok platformy nesie účtovnú záťaž a práve tu sa buduje väčšina účtovných kníh trhovísk.

Pred importom čo i aš jedinej riadky si namapujte tok peňazí

Predtým, než sa dotknete importu, nakreslite si jednostranovú mapu transakcií pre každý tok:

Platba zákazníka
  -> Zúčtovanie platby / transakcia so zostatkom Stripe
  -> Poplatok Stripe
  -> Provízny poplatok platformy (komisia)
  -> Prevod na prepojený účet
  -> Vrátenie peňazí alebo spor (ak je relevantné)
  -> Výplata zo Stripe (payout)
  -> Prijatá platba na bankový účet

Každá šípka predstavuje samostatnú transakciu so zostatkom s vlastným ID, kategóriou, sumou a dátumami. So zostatkom v Stripe zaobchádzajte ako s klíringovým účtom podobným bankovému: platby doň prúdia, poplatky a prevody z neho odchádzajú a výplata presúva zvyšok do skutočnej banky. Dokumentácia pre bankové a platobné importy systému Nordlet odporúča presne tento prístup pre bežnú aktivitu so Stripe.

Vyberte správnu zdrojovú správu zo Stripe

Pre dávky vysporiadania prostredníctvom automatických výplat (automatic-payout settlement batches) použite podrobnú správu Stripe Výkaz vysporiadania výplat, položkovitý (Payout reconciliation, itemized). Poskytuje jeden riadok na transakciu so zostatkom, zoskupuje riadky podľa reporting_category, spája každý s automatic_payout_id a ponúka súčty hrubých hodnôt, poplatkov a čistých súm. Sprievodca výberom správ od Stripe dokumentuje túto správu a potvrdzuje charge_id, connected_account_id and destination_payment_id ako dostupné polia rozhrania Connect.

Tam, kde automatické výplaty nie sú povolené (niektoré manuálne dohody o výplatách), použite namiesto toho správu Zostatok (Balance report). Nepovažujte súhrn výplat z ovládacieho panela (Dashboard) za dostatočný dôkaz na zaúčtovanie. Súhrn preukazuje celkovú sumu dávky, no komponenty vysvetľuje iba položkovitá správa.

Stripe odporúča klasifikovať podľa reporting_category namiesto staršieho poľa type, pričom každý riadok obsahuje ID source, ktoré sa spája so základným objektom. Všimnite si časové obmedzenie: Stripe uvádza, že denné údaje správ sú zvyčajne k dispozícii do poludnia nasledujúceho dňa a okamžité výplaty (instant payouts) nemožno prehľadne priradiť k jednotlivým transakciám, takže si vyžadujú samostatné párovanie histórie transakcií.

Klasifikujte každú zostatkovú transakciu podľa kategórie

Použite reporting_category ako primárny klasifikátor, potom skontrolujte source_id, charge_id a popisy. Kľúčové mapovanie:

Aktivita Stripe Vykurovacia kategória (Reporting category) Účtovný výklad
Zákaznícka platba, karta alebo lokálna platobná metóda charge Pohľadávka financovaná zákazníkom alebo vysporiadanie predaja
Vrátenie peňazí refund Storno pôvodnej platby zákazníka
Poplatok za spracovanie zadržaný systémom Stripe fee Náklad na spracovanie platieb
Provízny poplatok platformy platform_earning Výnos z provízií
Vrátený provízny poplatok platform_earning_refund Zníženie výnosov z provízií
Prevod na prepojený účet transfer Zníženie záväzku voči predajcovi
Stornovaný prevod transfer_reversal Vymáhanie z prepojeného účtu
Reklamácia (Chargeback) dispute Strata zo spätnej platby; skontrolujte zdrojový objekt sporu
Vyhratý alebo stornovaný spor dispute_reversal Vymáhanie predtým zaúčtovanej straty z reklamácie
Výplata do banky payout Bankový pohyb, nie výnos
Stornovaná výplata payout_reversal Vrátenie finančných prostriedkov na zostatok v Stripe
Zadržaná rezerva connect_reserved_funds / risk_reserved_funds Obmedzené prostriedky, predvolene nejde o náklad
Dlhodobé inkaso záporného zostatku connect_collection_transfer Udalosť financovania alebo vymáhania vyžadujúca si rizikovú politiku

Jedno varovanie týkajúce sa terminológie: staršie pole typu transakcie so zostatkom (type) používa pre rovnaké udalosti iné označenia, medzi nimi payment, application_fee a adjustment. Dokumentácia typov transakcií so zostatkom od Stripe uvádza oba slovníky. Nevieďte hodnotu type do pravidla pre reporting_category a nevymýšľajte si kategóriu ako napríklad dispute_loss, ktorú Stripe neexportuje. Ak export obsahuje označenie, ktoré nepoznáte, zachovajte exportovanú hodnotu a overte ju oproti zdrojovému objektu.

Zaúčtujte bežnú aktivitu trhoviska do účtovnej knihy

Pre platformu pracujúcu s cieľovými platbami alebo samostatnými platbami a prevodmi sú koncepčné zápisy nasledovné.

Zákaznícka platba (peniaze zákazníka vstupujú do klíringového zostatku Stripe):

MD Klíringový účet Stripe    Hrubá platba zákazníka
    D Obchodné pohľadávky     Hrubá platba zákazníka

Poplatok za spracovanie Stripe:

MD Náklady na poplatky Stripe   Poplatok Stripe
    D Klíringový účet Stripe     Poplatok Stripe

Nekompenzujte (nečistite) poplatok Stripe oproti výnosom, pokiaľ to vaša účtovná politika výslovne nevyžaduje a nepodporuje čisté vykazovanie.

Provízia platformy (váš výnos, vyčlenený z toho, čo by sa inak dlhovalo predajcovi):

MD Záväzok voči predajcovi    Suma provízie
    D Výnosy z provízií        Suma provízie

Prevod predajcovi (vyrovnanie dlhovaných peňazí, nejde o náklad):

MD Záväzok voči predajcovi    Suma prevodu
    D Klíringový účet Stripe     Suma prevodu

Prevod nie je automaticky nákladom. Podiel predajcu sa stáva záväzkom vo chvíli, keď platba pristane, a prevod tento záväzok uhrádza. Pravidlá zaúčtovania vyrovnaní v systéme Nordlet sa toho drží: riadky platform_earning sa účtujú do výnosov z provízií, zatiaľ čo riadky transfer znižujú záväzok voči predajcovi. Dokumentované predvolené kľúče zaúčtovania sú settlements.commissionRevenue (predvolene 5001), settlements.sellerPayable (predvolene 4499), settlements.fees (predvolene 6800) a settlements.suspense (predvolene 4440), pričom každý z nich je možné pre každú spoločnosť upraviť pomocou pravidiel zaúčtovania v API rozhraní Nordlet.

Spracujte vrátenia peňazí oproti pôvodnému predaju, nie ako voľné bankové položky

Vrátenie peňazí (refund) je prepojené s pôvodnou platbou alebo faktúrou. Koncepčne:

MD Vrátenia peňazí / storná predaja    Suma vrátenia
    D Obchodné pohľadávky               Suma vrátenia

Skutočný zápis závisí od toho, či bol predaj uznaný, či sa musí stornovať daň a či bol vrátený provízny poplatok platformy. Jediné vrátenie peňazí môže vyústiť do stornovania pohľadávky, stornovania dane, vrátenia provízneho poplatku, stornovania prevodu alebo zníženia záväzku voči predajcovi, ako aj do dôsledku na poplatok Stripe, ktorý je nutné skontrolovať a nie predpokladať.

Časová pasca: vrátenie peňazí sa často vyrovnáva v neskoršej výplate než pôvodná platba. Uprednostnite položkovitú správu o vyrovnaní výplat pred syntetizovaným vrátením peňazí z exportu na úrovni platby. Dokumentácia Nordletu výslovne varuje, že vrátenie peňazí syntetizované z exportu platieb je iba aproximáciou, ak sa vrátenie vyrovnáva neskôr. Importér vyrovnaní dokáže prijať riadok vrátenia peňazí, spárovať ho s pôvodným predajom a stornovať pohľadávku pri zaúčtovaní dávky.

Považujte spory za oddelené od vrátení peňazí

Spor (dispute) je nárok držiteľa karty alebo vydávajúcej banky a Stripe môže pred vyriešením strhnúť spornú sumu aj poplatok za spor. Pri cieľových platbách a samostatných platbách a prevodoch Stripe zaťažuje zostatok platformy oboma položkami, podľa svojho návodu na vrátenie peňazí a spory. Platforma sa môže pokúsiť o vymáhanie stornovaním prevodu predajcovi.

Prehraný spor z pohľadu platformy:

MD Strata z reklamácie / znovu otvorená pohľadávka   Sporná suma
MD Náklady na poplatky za spor                      Poplatok za spor
    D Klíringový účet Stripe                         Kombinovaná suma

Ak stratu znáša predajca a vymáhanie je potvrdené:

MD Záväzok voči predajcovi / účet vymáhania   Vymáhateľná suma
    D Vymáhanie reklamácií                     Vymáhateľná suma

Nezaúčtujte vymáhanie od predajcu len preto, že bolo požiadané o storno prevodu. Overte, či bolo storno vytvorené, úspešné a či sa objavuje v zostatku Stripe. Ak je spor vyhraný, Stripe vráti spornú sumu prostredníctvom riadku dispute_reversal; stornujte stratu z reklamácie a osobitne vyriešte akýkoľvek poplatok za spor, ktorý Stripe nevracia. Nordlet páruje riadky reklamácií pomocou charge_id predtým spárovanej platby, buď z toho istého súboru, alebo z skoršieho importu.

Praktický príklad vyrovnania

Vezmite si jednu dávku automatických výplat. Položkovitá správa obsahuje:

  • Riadok charge: hrubá suma 100.00, poplatok Stripe 3.20, čistá suma 96.80
  • Riadok platform_earning: 15.00, provízia platformy
  • Riadok transfer: 81.80 prepojenému predajcovi
  • Riadok refund z predchádzajúceho predaja: hrubá suma 20.00, vyrovnávajúca sa v tejto dávke
  • Riadok payout: celková suma dávky smerujúca do banky

Zloženie výplaty po vyrovnaní v súlade so zostatkom Stripe:

Hrubé platby                 100.00
- vrátenia peňazí             20.00
- poplatky Stripe              3.20
- prevody                     81.80
= čisté do zostatku platformy -5.00

Riadok platform_earning nepresúva peniaze druhýkrát. Určuje 15.00, ktoré zostávajú v zostatku platformy po odrátaní poplatku a prevodu predajcovi, takže platforma môže zaúčtovať výnosy z provízií namiesto ich odhadovania.

V tomto prípade prevod predajcovi plus vrátenie peňazí prevyšujú čistú platobnú aktivitu, takže dávka má malý záporný zostatok, ktorý zníži nasledujúcu výplatu alebo čerpá zo zostatku. Zaúčtovaný denník stornuje vrátenú pohľadávku, uznáva výnosy z provízií vo výške 15.00, zaeviduje náklady na poplatky vo výške 3.20, zníži záväzok voči predajcovi o sumu prevodu a zaúčtuje storno vrátenia peňazí. Bankový riadok sa zhoduje s čistou sumou, ktorá dorazí na účet. Žiadne jediné číslo sa nerovná „tržbe“, čo je aj podstatou veci.

Import a zaúčtovanie cez koncový bod vyrovnania v Nordlete

Na párovanie na úrovni výplat použite:

POST /v1/bank/settlements/import

s poskytovateľom Stripe a položkovitým súborom CSV. Nordlet zoskupuje riadky podľa automatic_payout_id, mení každú výplatu na dávku vyrovnania s hrubými, poplatkovými a čistými súčtami, presakuje opätovné importy už zaúčtovanej výplaty, vynecháva riadky payout zo zloženia vyrovnania a automaticky páruje riadky platieb, vrátení peňazí a sporov pomocou objednávok, faktúr, objektov PaymentIntent, platieb, zdrojov alebo metadátových odkazov. Stripe rozdeľuje položkovitú správu do jedného súboru na sekciu, takže importujte súbory platieb, vrátení peňazí a poplatkov spolu: riadky patriace k výplate, ktorá už bola importovaná, ale ešte nebola zaúčtovaná, sa zlúčia do existujúcej dávky. Ide o pracovný postup importu a zaúčtovania riadený súbormi a koncovými bodmi vyrovnania, nejde o živý konektor Stripe; stránka funkcií uvádza, čo banková a vyrovnávacia stránka pokrýva.

Párujte v poradí: platby k faktúram, vrátenia peňazí k pôvodným platbám, spory k pôvodným platbám, riadky provízií k zaúčtovaniu provízií. Poplatky Stripe, úpravy, rezervy a riadky výplat držte mimo párovania faktúr. Slovník platobného párovania v Nordlete uvádza, že riadky poplatkov a úprav nie sú zámerne párovateľné s faktúrami; nevyriešené položky obsahujúce peniaze presmerujte na prechodný účet (suspense). Manuálna oprava využíva bank/settlements/match { lineId, invoiceId }, pričom hodnota invoiceId nastavená na null slúži na zrušenie párovania.

Potom zaúčtujte jednu vyrovnanú dávku:

POST /v1/bank/settlements/post

Tento príkaz vytvorí jeden vyrovnaný denník, uhradí spárované faktúry, zaúčtuje ťarchou (debetom) na účet hlavnej knihy bankového účtu čistú výplatu, zaúčtuje poplatky, dá v prospech (kredit) pohľadávky za platby, stornuje pohľadávky za vrátenia peňazí a reklamácie, rozdelí nespárované platby na trhovisku medzi výnosy z provízií a záväzok voči predajcovi, ak je zadaná hodnota commissionPercent, a pošle nevyriešené sumy na prechodný účet. Každá kategória, ktorú nerozpozná, končí tiež na prechodnom účte a odpoveď tieto kategórie vymenúva vo varovaní namiesto ich tichého pohltenia.

Kontrolný zoznam párovania

Pred každou uzávierkou spustite tieto overenia:

  • Žiadne duplicitné balance_transaction_id
  • Žiadna duplicitná dávka vyrovnania (provider, payout_id)
  • Súčet čistých hodnôt (net) riadkov sa rovná čistej hodnote dávky
  • Čistá hodnota dávky sa rovná bankovej výplate, s výnimkou časového nesúladu a menovej politiky
  • Každé vrátenie peňazí má pôvodnú platbu alebo zaznamenanú výnimku
  • Každý spor má odkaz na spor alebo platbu
  • Každý prevod má ID prepojeného účtu
  • Každý riadok platform_earning má definované zaúčtovanie provízie
  • Prechodný účet (suspense) je nulový alebo úplne skontrolovaný, vrátane všetkých nerozpoznaných kategórií menovaných vo varovaní o zaúčtovaní
  • Záväzok voči predajcovi nie je záporný bez schválenej zálohy alebo politiky vymáhania
  • Zaúčtované dávky nemožno potichu znova importovať ani znova zaúčtovať
  • Výplata v inej mene než je základná mena spoločnosti sa konvertuje kurzom platným v deň výplaty, pričom rozdiel oproti vlastnému kurzu každej faktúry sa zaúčtuje ako realizovaný kurzový zisk alebo strata; výplata, ktorá mieša meny, sa pri importe odmietne

Párujte na troch úrovniach: riadok (každá transakcia má zachované ID, kategóriu, sumu, menu, zdroj), výplata (položkovité čisté sumy sa rovnajú výplate zo Stripe a bankovému výpisu) a hlavná kniha (zaúčtovaný denník je vyrovnaný a vytvára zamýšľané pozície výnosov, poplatkov, pohľadávok, záväzkov voči predajcom a prechodných účtov). Špeciálne pre zostatky predajcov overte, že počiatočný záväzok voči predajcovi plus nový podiel predajcu, mínus prevody a platné storná, sa rovná koncovému záväzku voči predajcovi.

Opakujúce sa zlyhanie naprieč každou účtovnou knihou trhoviska je presne to isté, s ktorým sa začalo: zhrnutie štruktúrou bohatej výplaty do jediného čísla. Udržujte komponenty oddelené, ukotvite každý k stabilnému identifikátoru v Stripe a nechajte prechodný účet podržať všetko, čo zatiaľ neviete vysvetliť. Čistá uzávierka je to, čomu auditor uverí.

FAQ

Je výplata zo Stripe výnosom platformy?

Nie. Výplata je súhrnom platieb, vrátení peňazí, poplatkov za spracovanie, prevodov predajcom, sporov a úprav, ktoré sa zhodou okolností vyrovnali v tej istej dávke. Jej zaúčtovanie do jedného výnosového riadku vymaže záväzok voči predajcovi a v ňom skryté náklady na spracovanie. Pre trhovizec pôsobiaci ako agent je výnosom provízia, ktorú identifikujú riadky platform_earning.

S ktorou správou zo Stripe mám párovať?

S položkovitou správou o vyrovnaní výplat (Payout reconciliation, itemized report), pretože poskytuje jeden riadok na transakciu so zostatkom s položkami reporting_category, automatic_payout_id a hrubými, poplatkovými a čistými sumami. Súhrn výplat z ovládacieho panela preukazuje iba celkovú sumu dávky. Tam, kde automatické výplaty nie sú povolené, použite namiesto toho správu Zostatok (Balance report).

Má sa prevod predajcovi účtovať ako náklad?

Nie. Podiel predajcu sa stáva záväzkom v okamihu, keď zákaznícka platba pristane, a prevod tento záväzok uhrádza. Účtovanie prevodov ako nákladov duplicitne započítava náklady a zanecháva záväzok voči predajcovi natrvalo nadhodnotený.

Čo sa stane s riadkom zo Stripe, ktorého kategóriu importér nerozpozná?

Zaúčtuje sa na prechodný účet vyrovnania (predvolene 4440) a odpoveď na zaúčtovanie vráti varovanie s vymenovaním kategórií, ktoré tam skončili. Rezervy a nezvyčajné úpravy takto končia bežne, čo je zámerné: peniaze zostávajú viditeľné a denník zostáva vyrovnaný, kým niekto nerozhodne, kam patria.

Ako sa spracúvajú vrátenia peňazí, ktoré sa vyrovnávajú v neskoršej výplate?

Prichádzajú ako riadok refund v položkovitej správe neskoršej výplaty a sú spárované späť s pôvodnou platbou prostredníctvom charge_id skôr spárovanej platby. Vrátenie peňazí syntetizované z exportu platieb na úrovni poplatkov je v tomto prípade iba aproximáciou, takže položkovitá správa je bezpečnejším zdrojom.

Ďalšie čítanie