Úč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ť.
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
refundz 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_earningmá 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.