Mikä on kirjanpito-rajapinta? Selkokielinen opas alustanrakentajille
Selkokielinen määritelmä kirjanpito-rajapinnasta, sen erot vero- tai maksu-rajapintoihin sekä asiat, jotka kannattaa tarkistaa ennen ohjelmiston kytkemistä sellaiseen.
Kirjanpito-rajapinta on ohjelmistorajapinta, jonka avulla yksi ohjelma voi pitää toisen ohjelman kirjanpitoa. Ohjelmistosi lähettää taloudellisen tapahtuman HTTP-protokollan yli. Rajapinta muuntaa tapahtuman tilikartan mukaisiksi tasapainotetuiksi kahdenkertaisen kirjanpidon kirjauksiksi, tallentaa ne muuttumattomina siten, että niitä ei voi salaa jälkikäteen muuttaa, käsittelee arvonlisäverotuksen ja palauttaa raportit, tositteet ja vientitiedostot saman rajapinnan kautta.
Tuo määritelmä tekee suurimman osan työstä. Kaikki muu tässä artikkelissa on vain sen seurausta.
Yhden lauseen tiivistelmä
Kirjanpito-rajapinta vastaanottaa sovelluksestasi taloudellisia tapahtumia, muuntaa ne tasapainotetuiksi kirjanpitovienneiksi, tallentaa ne pysyvästi yhdessä verokäsittelyn ja tositteiden kanssa sekä tarjoaa muodostuneen pääkirjan, tositteet ja raportit ohjelmoitavina rajapintapisteinä.
Jos tuote kutsuu itseään kirjanpito-rajapinnaksi, mutta ei tuota kirjanpitovientejä, se on jotain muuta hyvältä kuulostavalla nimellä varustettuna. Tämä ei välttämättä ole huono asia, mutta se tarkoittaa, että se ei tee sitä työtä, jota olet siltä pyytämässä.
Mitä kirjanpito-rajapinta ei ole
Neljä läheistä tuotekategoriaa sekoitetaan usein kirjanpito-rajapintoihin, yleensä projektin myöhäisessä vaiheessa.
| Kategoria | Mitä se tekee | Mitä se ei tee |
|---|---|---|
| Verolaskennan rajapinta | Palauttaa oikean verokannan tai veron määrän tapahtumalle | Pidä kirjanpitoa tai säilytä päätöksen taustalla olevia tositteita lakisääteisen säilytysajan |
| Maksu-rajapinta | Siirtää rahaa osapuolten välillä ja raportoi kyseisistä siirroista | Kirjaa ansaittua komissiota, tilitettävää arvonlisäveroa tai myyjälle maksun ja tilityksen välillä olevaa velkaa |
| Integraatio- tai koontirajapinta | Lukee ja kirjoittaa tietoja asiakkaan olemassa olevaan taloushallinnon ohjelmistoon | Toimi totuuden lähteenä; kirjanpitosi on siinä työkalussa, jota kukin asiakas jo käyttää |
| Raportointi- tai BI-rajapinta | Lukee lukuja olemassa olevasta kirjanpidosta ja visualisoi niitä | Luo vientejä, joista luvut on johdettu |
Jokaisella näistä on omat todelliset käyttötarkoituksensa. Alustan, jonka täytyy toimia totuuden lähteenä, on kuitenkin käytettävä kirjanpito-rajapintaa pohjanaan, ei korvaamaan sitä.
Viisi asiaa, jotka kirjanpito-rajapinnan on tehtävä
1. Kirjattava tasapainotetut viennit. Jokaisesta tapahtumasta syntyy debet- ja kredit-kirjauksia, joiden summa on tasan nolla. Kun ostaja maksaa 100 euroa markkinapaikalla, joka veloittaa 15 euron komission, kirjaus vie clearing-tilille debet 100 euroa, myyjän ostovelkoihin kredit 85 euroa ja komissiotuottoihin kredit 15 euroa. Tämä ei ole mitään turhaa kirjanpidollista rituaalia, vaan rakenteellinen tarkistus, joka nappaa kokonaiset integraatiovirheiden luokat kiinni ennen kuin ne ehtivät raporteille asti.
2. Säilytettävä historia. Kirjattua vientiä ei muokata. Virhe korjataan tekemällä oikaisukirjaus ja uusi korjattu vienti, jotka molemmat linkitetään alkuperäiseen. Suljetut kuukaudet lukitaan, jotta niille ei voi enää kohdistaa uusia tapahtumia.
3. Ratkaistava verotus. EU-kaupan osalta tämä tarkoittaa suorituspaikkaa, käännettyä verovelvollisuutta, virallisesta rekisteristä tarkistettuja arvonlisäveronumeroita sekä päätöksen perustelleita todisteita. Kaikki nämä tallennetaan tapahtuman yhteyteen sen sijaan, että ne heitettäisiin pois laskennan jälkeen.
4. Täsmäytettävä ulkoisen rahan kanssa. Kirjanpito, joka ei koskaan kohtaa tiliotetta, on vain arvailua. Rajapinnan on kyettävä lukemaan tiliotteita tai palveluntarjoajien tilityksiä ja täsmäämään ne kirjattujen tapahtumien kanssa.
5. Vientitoiminnot. Raportit, tositteet ja tilintarkastusaineistot sellaisissa muodoissa, jotka inhimillinen kirjanpitäjä ja veroviranomainen hyväksyvät.
Tuote, joka tekee kolme ensimmäistä mutta ei kahta viimeistä, jättää silti jonkun tekemään taulukkolaskentatöitä joka kuukausi.
Miltä rajapintakutsu todellisuudessa näyttää
Tekniikka on yksinkertaisempaa kuin kirjanpito. Nordletin rajapinnassa jokainen operaatio on RPC-tyylinen POST-pyyntö ennalta-arvattavalla rakenteella:
POST /v1/{module}/{resource}/{action}
Authorization: Bearer <api key>
Idempotency-Key: <your event id>
Luot myyntilaskun ja sen jälkeen laskutat sen. Laskutus on se hetki, jolloin kirjanpito tapahtuu: tosite saa katkeamattoman numeronsa, tasapainotettu kirjanpitovienti kirjautuu ja arvonlisäverorivit tallennetaan sen yhteyteen. Alustasi ei tarvitse koskaan koota debet- ja kredit-kirjauksia käsin.
Kolme yksityiskohtaa tuossa pätkässä merkitsevät enemmän kuin rajapintapisteen nimi:
- Avaimen laajuus (scope). Avaimella on käyttöoikeuksia, kuten
sales:write, joten integraatio saa vain tarvitsemansa pääsyn. - Idempotenssiavain. Kun toistat saman pyynnön samalla sisällöllä, saat takaisin tallennetun vastauksen toisen laskun luomisen sijaan. Jos lähetät saman avaimen eri sisällöllä, pyyntö hylätään virheellä
idempotency_key_reusehiljaisen hyväksynnän sijaan. - Raha merkkijonoina. Summat ovat desimaalimerkkijonoja, eivät liukulukuja, koska liukuluvut hukkaavat senttejä tavoilla, jotka paljastuvat tilikauden lopussa.
Mihin se sijoittuu arkkitehtuurissasi
Sovelluksesi pysyy käyttöliittymänä ja liiketoimintatapahtumien lähteenä. Kirjanpito-rajapinnasta tulee sen taustalla toimiva taloudellinen totuuden lähde. Kulku on yleensä seuraava:
- Tuotteessasi tapahtuu jotain: tilaus, palautus, tilitys tai tilauksen uusinta.
- Taustajärjestelmäsi kutsuu kirjanpito-rajapintaa tapahtumalla ja idempotenssiavaimella.
- Rajapinta kirjaa viennin, soveltaa arvonlisäveroa ja palauttaa tunnisteet, jotka tallennat omiin tietoihisi.
- Webhook-viesti, kuten
sale_invoice.paid, kertoo järjestelmällesi tilan muutoksesta, jotta voit reagoida tapahtumiin kyselyn (polling) tekemisen sijaan. - Pankkitapahtumat saapuvat pankkisyötteen tai tiliotetuonnin kautta ja ne täsmätään kirjattujen tositteiden kanssa.
- Tilikauden lopussa raportit ja verolaskelmat luodaan samasta datasta, ja suljettu kuukausi lukitaan.
Mikään tuolla listalla ei vaadi ihmistä avaamaan kirjanpito-ohjelmaa. Siinä on koko tämän kategorian idea.
Miten se vertautuu vaihtoehtoihin
| Lähestymistapa | Aloittamisen vaiva | Tilintarkastusasema | Skaalautuu transaktiovolyymin mukana |
|---|---|---|---|
| Taulukkolaskenta ja manuaalinen kirjaus | Pienin | Heikko; historia on muokattavissa | Ei |
| Kirjanpito-ohjelma ja CSV-viennit | Pieni | Riippuu täysin kurinalaisuudesta | Huonosti; joku tuo tiedostoja manuaalisesti |
| Aggregaattirajapinta kunkerran asiakkaan omaan kirjanpitoon | Keskitaso | Perii sen, mitä asiakkaan työkalu tekee | Kyllä, mutta et omista kirjanpitoaineistoa |
| Sulautettu kirjanpito-rajapinta | Keskitaso | Vahva, jos pääkirja on muuttumaton ja kaudet lukittuvat | Kyllä |
| Oman pääkirjan rakentaminen | Suurin | Vahva vain, jos rakennat myös kontrollit | Kyllä, ja joudut ylläpitämään sitä ikuisesti |
Oman järjestelmän rakentaminen on perusteltu valinta tietyille tiimeille. Sitä käsitellään tarkemmin markkinapaikkojen rakentamisen ja ostamisen vertailuoppaassamme.
Mitä tarkistaa ennen rajapintaan kytkeytymistä
- Onko saldo laskettu vai tallennettu? Kysy, onko myyjän saldo kysely kirjanpitovientien yli vai jokin solu, jota joku päivittää. Vain toinen näistä kestää tilintarkastuksen.
- Mitä tapahtuu uudelleenyrityksellä (retry)? Lähetä sama pyyntö kahdesti ja laske viennit.
- Voitko muokata kirjattua vientiä? Vastauksen tulisi olla ei, minkä lisäksi tarjolla on dokumentoitu oikaisumenettely.
- Hylkääkö lukittu kausi todella kirjauksen? Kokeile sitä hiekkalaatikossa. Nordlet palauttaa tilakoodin
409kirjaukselle, jonka päivämäärä osuu lukitulle kaudelle. - Miten raha esitetään? Desimaalimerkkijonoina tai kokonaislukuina (sentteinä). Ei koskaan liukulukuina.
- Mitä tilintarkastustietue sisältää? Toimija, toimenpide, entiteetti ja itse muutos kyselykelpoisessa muodossa sen sijaan, että ne olisivat hautautuneet lokitiedostoihin.
- Mitkä ovat nopeusrajat (rate limits)? Nordlet sallii 300 pyyntöä minuutissa per rajapintain avain ja ilmoittaa jäljellä olevan budjettisi vastausotsakkeissa. Olipa luku mikä tahansa, ota se selville ennen synkronoinnin suunnittelua.
- Miten saat tietosi ulos? Raportit, tositteet ja viennit muodoissa, jotka voit luovuttaa kirjanpitäjälle.
Jokainen näistä on testattavissa iltapäivässä hiekkalaatikkoyritystä vasten. Toimittajien ominaisuusluettelot eivät ole todisteita, mutta toistettava testi on.
FAQ
Onko kirjanpito-rajapinta sama asia kuin kirjanpito-ohjelmisto?
Se on kirjanpito-ohjelmisto, jonka käyttöliittymä on siirretty toisaalle. Perinteinen taloushallinnon ohjelmisto laittaa ihmisen pääkirjan ääreen, kun taas kirjanpito-rajapinta laittaa koodisi sinne. Taustalla olevat velvoitteet, kahdenkertaisen kirjanpidon rakenne ja raportit ovat aivan samat.
Tarvitsenko silti kirjanpitäjää, jos käytän tällaista?
Kyllä. Rajapinta automatisoi kirjaamisen, laskennan ja raportoinnin. Se ei tee harkintaa vaativia päätöksiä luokittelusta, varauksista tai siitä, miten tiettyä sopimusta tulisi käsitellä, eikä se useimmissa maissa allekirjoita tai lähetä lakisääteisiä tilinpäätöksiäsi.
Voinko käyttää kirjanpito-rajapintaa ymmärtämättä kahdenkertaista kirjanpitoa?
Osittain. Hyvä rajapinta muodostaa kirjanpitoviennit puolestasi liiketoimintatositteen, kuten laskun, pohjalta. Sinun täytyy silti ymmärtää, mitä tilit tarkoittavat, kun luet raporttia tai selität saldoa tilintarkastajalle.
Mitä eroa on kirjanpito-rajapinnalla ja pääkirja-rajapinnalla (ledger API)?
Pääkirja-rajapinta kirjaa tasapainotettuja siirtoja tilien välillä. Kirjanpito-rajapinta tekee saman ja lisää lakisääteisen kerroksen päälle: tositteet laillisella numeroinnilla, arvonlisäverokäsittelyn, verorekisterit, käyttöomaisuuden, kaudensulun ja ne raportit, joita kyseinen lainkäyttöalue odottaa. Jokainen kirjanpito-rajapinta sisältää pääkirjan, mutta jokainen pääkirja ei ole kirjanpitojärjestelmä.
Kuinka kauan integraation tekeminen kestää?
Ensimmäisen toimivan ketjun luomiseen - asiakkaan luominen, laskun laskutus, maksun vastaanottaminen, kirjanpitoviennin näkeminen - kannattaa varata tyypitettyä SDK:ta ja hiekkalaatikkoa käyttäen päiviä viikkojen sijaan. Tuotantointegraatio, joka kattaa palautukset, oikaisut, useat valuutat, täsmäytykset ja kaudensulut, on laajempi työmaa, ja rehellinen arvio riippuu siitä, kuinka montaa näistä tilanteista tuotteesi todellisuudessa synnyttää.