Nordlet

← Blogg

Tvífærslulyklabók API (Double-Entry Ledger APIs) fyrir bókhald á markaðstorgum

Tæknileg leiðbeining um hvernig óbreytanleg tvífærslulyklabók API virka, af hverju markaðstorg þurfa á þeim að halda og hverju skal huga að þegar bókhald er samþætt við palla.

Nordlet Team · · 11 mín lesun

Flest markaðstorg komast að því að þau eiga í bókhaldsvandræðum með sama hætti: nýráðinn fjármálastjóri mætir á svæðið, opnar töfluskjal með útborgunum og spyr hver sé raunverulega að bóka skuldina við seljendur frá því augnabliki sem kaupandi greiðir þar til púður fer af palla-reikningnum. Verkfræðiteymið bendir á transactions-töflu. Fjármálastjórinn bendir á að tafla yfir atburði sé ekki bókhald. Það bil, á milli atburðagagna og raunverulegs bókhalds, er það sem tvífærslulyklabók API er hannað til að brúa.

Þetta er tæknileg spurning sem hefur lagalegar og skattalegar tennur. Markaðstorg geyma peninga annarra, reikna út virðisaukaskatt (vsk.) yfir landamæri og gefa út reikninga fyrir hönd seljenda. Að gera þetta með heimatilbúinni færslutöflu virkar þar til endurskoðandi, skattayfirvöld eða stór fjárfestir biðja um sönnunargögn.

Hvað tvífærslulyklabók API er í raun og veru

Tvífærslulyklabók API er forritanleg bókhaldsvél sem er aðgengileg í gegnum HTTP. Hver einasti fjárhagsatburður sem pallurinn þinn skráir er skrifaður sem jafnvægisbókuð færsla: að lágmarki ein terningur (debit) og ein inneign (credit), sem eru jafn háar í heildina og færðar á tilgreinda reikninga í aðallyklaskrá (chart of accounts). API-ið framfylgir þessu jafnvægi við skrift og geymi færslur þannig að ekki sé hægt að breyta þeim hljóðlega á eftir.

„Tvífærslu“-hlutinn er fjögurra alda gömul bókhaldsregla þess eðlis að hver viðskipti hafa áhrif á að lágmarki tvo reikninga. „API“-hlutinn þýðir að varan þín, en ekki mannlegur bókhaldari, kallar á þjónustuna. „Óbreytanlegi“ hlutinn (immutable) þýðir að leiðréttingar eiga sér stað í gegnum áfærslur (reversing entries) í stað þess að breyta sgunni. Samalt gera þessir þrír eiginleikar það að verkum að bókhaldið verður tilbúið fyrir endurskoðun í stað þess að vera eingöngu snyrtilegt.

Gagnleg vinnuskilgreining:

Tvífærslulyklabók API tekur við fjárhagsatburðum frá forritinu þínu, breytir hverjum og einum í jafnvægisbókaða færslu gagnvart skilgreindri aðallyklaskrá, geymir þær færslur óbreytanlegar og birtir tilurð lyklabókarinnar, jöfnunarstöðu (trial balance) og fjárhagsskýrslur í gegnum fyrirsjáanlega endapunkta.

Nordlet er byggt í kringum nákvæmlega þessa hugmynd: raunverulegt bókhald sem API, þar sem lyklabókin, vsk.-rökfræðin, reikningagerðin og afstemningar eru allt aðgengilegt frá sömu endapunktum og varan þín talar þegar við.

Af því að markaðstorg þurfa á þessu að halda umfram allt annað

SaaS-fyrirtæki með einn seljanda kemst oft upp með að samstilla við almennt bókhaldstól einu sinni á sólarhring. Markaðstorg geta það ekki, af þremur ástæðum.

Í fyrsta lagi eru þau mitt í peningunum. Kaupandi greiðir pallinum, pallurinn geymi fjármuni og greiðir síðan seljendum að dregnu þóknuninni frá. Hver þessara hreyfinga er aðskilinn bókhaldsatburður sem hefur áhrif á mismunandi reikninga: reiðufé, viðskiptaskuldir við seljendur, tekjur pallsins, vsk. til innheimtu, endurgreiðslusjóði. payments-tafla með status-dálki nær ekki utan um það.

Í öðru lagi starfa þau yfir skattalögsögur. Evrópskt markaðstorg með seljendur í Litháen, Þýskalandi og Póllandi, og kaupendur um allt svæðið, þarf að beita réttri vsk.-meðferð fyrir hver viðskipti, staðfesta vsk.-númer seljenda gegn VIES og skila skýrslum sem uppfylla kröfur hvers staðbundins yfirvalds. Að ná þessu réttu í forritkóða og afstilla það síðan gegn sérstöku bókhaldskerfi er þar sem flest markaðstorg brotna hljóðlega niður.

Í þriðja lagi er rúmmálið of mikið fyrir handvirkt bókhald. Pallur sem framkvæmir tíu þúsund pantanir í mánuði framleiðir tugþúsundir færslna. Það verður að sjálfvirknivæða frá enda til enda, eða fjármálateymið verður flöskuháls á vexti fyrirtækisins.

Hvernig API-ið virkar, skref fyrir skref

Vélbúnaðurinn er minna framandi en hann hljómar. Dæmigert flæði fyrir pöntun á markaðstorgi lítur svona út:

1. Pallurinn þinn sendir frá sér fjárhagsatburð. Kaupandi lýkur við greiðslu. Bakendinn þinn kallar á lyklabókina API með einhverju á borð við: pöntunarnúmer, kaupanda, seljanda, bruttóupphæð, vsk.-hlutfall, þóknun pallsins, gjaldmiðil og auðkenni (idempotency key).

2. Lyklabókin smíðar færslu. API-ið þýðir atburðinn yfir í debet og kredit. Fyrir einfalda sölu á markaðstorgi gæti það þýtt að færa til debets á reiðufé á leið í hús, færa til kredits á viðskiptaskuldasöfn seljanda fyrir nettóupphæðina, færa til kredits á tekjureikning pallsins fyrir þóknunina og færa til kredits á vsk.-skuldrifinn hluta. Allt í jafnvægi. Allt bókað atómískt.

3. Færslan er skrifuð óbreytanleg. Þegar búið er að bóka færsluna hefur hún auðkenni og tímamerki og ekki er hægt að breyta henni. Ef eitthvað er rangt skaltu bóka mótreikning og leiðrétta færslu. Endurskoðunarslóðin er kjarni málsins.

4. Niðurstreymisskýrslur uppfærast í rauntíma. Jöfnunarstaða, stöður seljendaskulda, vsk.-samantektir og rekstrarreikningur endurspegla nýju færsluna samstundis. Það er engin náturvinnsla, enginn útflutningur og enginn afstemningargluggi þar sem tölurnar eru að „jafna sig“.

5. Vefveitur (webhooks) láta kerfið þitt vita. Atburðir eins og sale_invoice.paid eða bank_transaction.matched keyra á endapunktana þína svo varan þín geti brugðist við án þess að þurfa að spyrjast fyrir (polling). Í samsettri mynd með auðkennum þýðir þetta að endurteknar tilraunir eru öruggar og tvritanir læðast ekki inn þegar netið hiktar.

Mikilvægi hönnunarpunkturinn er þessi: lyklabókin er sannleikskildið fyrir því hvað gerðist fjárhagslega. Gagnagrunnur forritsins þíns er sannleikskildið fyrir stöðu vörunnar. Kerfin tvö stemmast af vegna þess að lyklabókin er skrifuð út frá atburðum forritsins, en ekki öfugt.

Aðallyklaskráin er þar sem hönnunarvinnan á sér stað

Mesta hugræna vinnan við að setja upp lyklabók fyrir markaðstorg fer í aðallyklaskrána (chart of accounts). Þetta er listi yfir nefndar fötur sem debet- og kreditfærslur lenda í: reiðufé per banka, viðskiptaskuldareikningar seljenda (oft einn per seljanda eða ein heild með undirbókhaldi), tekjur pallsins eftir flokkum, vsk. til innheimtu eftir löndum, endurgreiðslusjóðir, endurgreiðslusjóðir vegna krafna (chargeback reserves) og svo framvegis.

Nokkur munstur sem endurtaka sig milli markaðstorga:

  • Fjármunir seljenda eru skuld, ekki tekjur. Peningar sem þú geymir í umboði seljenda eru skuld. Að meðhöndla það sem tekjur og „gjaldfæra“ útborgunina síðar eruklassísk mistök sem sjást í áreiðanleikakönnunum (due diligence).
  • Vsk. er aðskilin skuld per land. Ef þú starfar yfir landamæri í ESB viltu fá sérstaka vsk.-skuldareikninga per land þannig að skil skili sér snyrtilega.
  • Þóknanir þarf að móta á þeirri stundu sem þær eru unnar, ekki þegar þær eru greiddar út. Uppsafnað bókhald (accrual accounting) er ekki valkvætt hér.
  • Endurgreiðslur, kröfur og ágreiningur þurfa hvert um sig sína eigin reikninga þannig að rekstrarreikningurinn endurspegli raunveruleikann í stað þess að vera hringekja af jákvæðum og neikvæðum sölum.

Gott lyklabók API gerir þér kleift að skilgreina þessa uppbyggingu einu sinni og bóka síðan við hana af öryggi, í stað þess að enduruppgötva bókhaldið inn í greiðslukóðanum þínum.

Óbreytanleiki, tímabilalæsing og hvers vegna endurskoðendur láta sig þetta varða

Óbreytanleiki hljómar eins og smáatriði í gagnagrunni. Hann er í raun munurinn á bókhaldi sem endurskoðandi skrifar undir og bókhaldi sem hann gerir það ekki við.

Ef markaðstorg getur breytt færslum síðasta árs í kyrrþey, þá eru tölur síðasta árs, í bókhalduðum skilningi, óþekktarstærð. Óbreytanleg lyklabók framfylgir þeirri reglu að saga sé saga. Leiðréttingar sjást sem leiðréttingar. Tímabilalæsing (period locking) stækkar þetta: þegar mánuði er lokað geta nýjar færslur eða breytingar ekki lent á því tímabili án sérstakrar opnunaraðgerðar, sem sjálf er skráð í atburðaskrá.

Fyrir alla palla sem munu að lokum safna fjármagni, selja sig eða mæta skatteftirliti, er þetta ekki „gott að hafa“. Það er það sem gerir bókhaldið verjanlegt. Lyklabók Nordlet er hönnuð í kringum þetta sjálfkrafa, þar sem óbreytanleg tvífærsluuppbygging og tímabilalæsing eru innbyggðar í stað þess að vera bætt við eftir á.

Vsk. í ESB: Hlutiinn sem étur upp verkfræðitíma

Vsk. er þar sem flest bókhaldsverkefni markaðstorga fara fram úr áætlun. Reglurnar eru ekki einfaldlega „að setja prósentu“. Þær fara eftir því hvar kaupandinn er, hvar seljandinn er, hvað er verið að selja, hvort seljandinn sé skráður í vsk., hvort markaðstorgið teljist söluaðili samkvæmt e-commerce reglum frá 2021 og hvaða skýrsluregime á við á hverjum stað.

Alvarlegt lyklabók API fyrir ESB annast að lágmarki:

  • VIES-staðfestingu fyrir vsk.-númer seljenda og kaupenda, helst þar sem niðurstöður eru skyndiminni og stimplaðar á færsluna.
  • Vsk.-hlutfallslógík per land þar á meðal lækkuð hlutföll og undanþágur.
  • i.SAF-skrárgerð fyrir litháisk skil, og jafngild uppbyggð skil þar sem önnur aðildarríki krefjast þess.
  • Peppol BIS 3.0 rafræna reikningagerð fyrir lögsögur sem færa sig yfir í skyldubundna rafræna reikningagerð.
  • OSS/IOSS meðferð fyrir B2C sölu yfir landamæri.

Að gera þetta í forritkóða, per land, er vinna sem jafngildir heilum verkfræðihópi sem klárast aldrei þar sem reglurnar breytast stöðugt. Að ýta því yfir í lyklabókarlagið er skynsamlega ákvörðun.

Afstemningar eru þar sem tímagildið kemur í ljós

Þegar lyklabókin er sannleikskildið hættir bankaafstemning að vera mánaðarleg þrautganga. Bankayfirlýsingar berast, lyklabókin veit þegar hvað ætti að vera þar og samsvörun er að mestu sjálfvirk.

Raunhæfa útgáfan af þessu er ekki „núll handavinna“. Það er „undantekningarnar skjóta upp kollinum“. Afstemningarflæði með einum smelli fyrir níutíu prósent viðskipta sem passa snyrtilega saman, ásamt biðröð fyrir tíu prósent sem þurfa mannlega ákvörðun, er um það bil það sem vel hannað afstemmingar-API skilar. Snjöll greiðslusamsvörun sér um hlutarþrýsting, ofgreiðslur og greiðslur sem ná yfir marga reikninga án þess að mannvera þurfi að skrifa reglur fyrir hvert tilvik.

SEPA útflutningur (pain.001-snið) fyrir útborganir til birgja og seljenda lokar hringnum á útleiðinni. Þú samþykkir útborganir í vörunni þinni, lyklabókin býr til SEPA-skrána, bankinn þinn vinnur úr henni og tilheyrandi hreyfing afstemmist sjálfkrafa til baka.

Smíða gegn kaupa gegn innfellingu

Teymi markaðstorga hafa tilhneigingu til að skoða þrjár leiðir. Hér er hvernig þær bera saman á þeim mælikvarða sem skiptir máli.

Aðferð Tími að framleiðsluumhverfi Endurskoðunarhæfi Meðferð á Vsk. í ESB Passar inn í vöruna þína
Smíða eigin lyklabók 12 til 24+ mánuðir Fer algjörlega eftir teyminu þínu Þú smíðar það, per land Já
Samstilla við Xero/QuickBooks Vika Gott fyrir bókhaldshliðina, veikt fyrir sérflæði markaðstorga Að hluta til, viðbætur nauðsynlegar Nei, býr í sérstöku tóli
Fella inn lyklabók API (t.d. Nordlet) Vika Innbyggt í gegnum óbreytanlega lyklabók og tímabilalæsingar Innbyggt fyrir ESB, þ.á.m. VIES og i.SAF Já, í gegnum API og SDK

Að smíða eigin lausn er verjanlegt ef bókhald er varan þín. Fyrir alla aðra gengur stærðfræðin sjaldan upp. Að samstilla við hefðbundið bókhaldstól virkar fyrir einstaka einingar en gefur sig undir flæði markaðstorga: skiptar greiðslur, undirbókhald seljenda, vsk. per land og atburðarás þar sem pallurinn er talinn söluaðili passa ekki vel við tól sem eru hönnuð fyrir bókhaldið eins fyrirtækis.

Að fella inn API-fyrst lyklabók er það sem flestir nútímapallar eru að stefna að. Bókhaldið býr inn í upplifun vörunnar þinnar, seljendur sjá sín eigin fjármál í notendaviðmóti þínu og þunglamaleg fylgni er meðhöndluð á innviðalaginu.

Hverju skal huga að þegar metið er lyklabók API

Stuttur gátlisti sem gott er að hafa opinn í símtölum við söluaðila:

  • Óbreytanleg tvífærslu geymsla með leiðréttingum í gegnum mótreikninga, ekki breytanlegar raðir.
  • Tímabilalæsing með skráðum enduropnunaraðgerðum.
  • Auðkenni (idempotency keys) á hverjum skrifendaunpunkti.
  • Vefveitur (webhooks) fyrir þá atburði sem varan þín þarf að bregðast við, ekki bara API til að spyrjast fyrir.
  • Týpuð SDK á þeim tungumálum sem teymið þitt notar í raun.
  • Vsk.-rökfræði per land þar á meðal VIES, i.SAF eða jafngildi, og OSS/IOSS.
  • Stuðningur við mörg fyrirtæki ef þú rekur fleiri en eina einingu eða stefnir að því.
  • Hlutverkamiðuð aðgangsstýring sem er nógu fínleg til að aðskilja forritara, bókhaldara og áhorfendur.
  • Skýrsluútflutningur í XLSX, PDF og JSON, ásamt vefveitu tilkynningum þegar stórar skýrslur eru tilbúnar.
  • Sandkassi (sandbox) sem endurspeglar hegðun framleiðsluumhverfis, ekki afskræmda kynningu.

Ef söluaðili getur ekki sýnt fram á þrjá fyrstu þættina í tæknisímtali skiptir afgangurinn engu máli.

Hvað ég myndi gera fyrst

Ef markaðstorg er að hefja þessa vinnu frá grunni er röðin sem sparar mestu þjáningarnar eftirfarandi:

  1. Kortleggðu raunverulega peningastrauma á töflu áður en þú skrifar nokkurn kóða. Hver skuldar hverjum, á hvaða augnabliki, í hvaða gjaldmiðli, með hvaða vsk.-meðferð.
  2. Dragðu upp aðallyklaskrána úr því korti. Viðskiptaskuldir seljenda, tekjur pallsins, vsk. til innheimtu per land, sjóðir. Fáðu bókhaldara til að yfirfara það áður en það fer í framleiðsla.
  3. Veldu lyklabókarlagið. Smíða, samstilla eða fella inn. Vertu heiðarlegur um hvort teymið þitt geti í raun skilað og viðhaldið því.
  4. Innleiddu eitt flæði frá enda til enda: pöntun til reiknings til útborgunar til afstemmingar. Sannaðu að það sé í jafnvægi. Skalaðu því síðan upp.
  5. Kveiktu á tímabilalæsingu um leið og fyrsta mánuðinum er lokað snyrtilega. Aginn margfaldast.

Teymin sem ná þessari grein með góðum árangri meðhöndla lyklabókina sem kjarnainnviði, ekki eftiráskýrslugerð. Það er breytingin, og það er það sem gerir fjármálaumræðuna við endurskoðanda, fjárfesti eða skattayfirvöld stutta í stað þess að vera langdregna.

FAQ

Er tvífærslulyklabók API það sama og bókhaldssamþætting?

Nei. Samþætting samstillir gögn úr vörunni þinni yfir í ytra bókhaldstól, venjulega með töf. Lyklabók API er bókhaldskerfið, skrifað beint í, í rauntíma. Greinarmunurinn skiptir máli vegna þess að samþættingar tapa nákvæmni á köntunum: hlutarþrýstingur, fjölmargar gjaldmiðlar, skiptingar á markaðstorgi. Lyklabók API skráir þetta innbyggt.

Getum við ekki bara notað skýrslugerð Stripe eða Adyen?

Skýrslur greiðslumiðlara segja þér hvað fór í gegnum miðlarann. Þær eru ekki tvífærslubókhald. Þær vita ekki af viðskiptaskuldum þínum við seljendur sem hafa ekki verið greiddar út enn, vsk.-skuldum þínum yfir lönd eða kostnaði sem tengist ekki greiðslumiðlum. Þær eru eitt inntak inn í lyklabókina, ekki í staðinn fyrir hana.

Hversu óbreytanlegt er óbreytanlegt í reynd?

Ekki er hægt að breyta færslum. Leiðréttingar eru nýjar færslur sem vísa í þá upprunalegu. Þetta er hönnunarákvörðun, ekki tæknileg. Hvaða hæfa lyklabók sem er mun framfylgja þessu. Ástæðan fyrir því að það skiptir máli er sú að „við breyttum því til að passa við bankann“ er nákvæmlega það munstur sem gerir bókhald ótraustvekjandi.

Hvað með markaðstorg utan ESB?

Tvífærsluvélin er alhliða. Skattalógíkin er það ekki. Lyklabók API sem er fínstillt fyrir vsk. í ESB mun ráða vel við ESB-þungan rekstur og getur stutt viðskipti utan ESB, en ef aðamarkaður þinn er bandarískur söluskattur eða rómönsk-amerísk rafræn reikningagerð, staðfestu þá sértæka samræmi áður en þú bindur þig.

Hvað tekur innleiðingin langan tíma í raun og veru?

Fyrir markaðstorg með hreint atburðalíkan er að fella inn lyklabók API að því marki að keyra eitt flæði frá enda til enda venjulega nokkrar vikur af verkfræðivinnu. Full flutningur frá eldri uppsetningu, þar á meðal söguleg gögn, tekur lengri tíma. Breytan er nánast alltaf ástand fyrri gagna, ekki API-ið sjálft.