ALV, OSS ja EU-SaaS-perustajan ajattelumalli
Rajat ylittävä EU-ALV digimyynnissä näyttää kaaokselta, kunnes mallin saa kohdalleen: myynnin paikka, B2B:n käännetty verovelvollisuus, OSS B2C:lle ja se, mikä kelpaa todisteeksi.
Kun luin ensimmäisen kerran EU:n säännöt digitaalisten palveluiden arvonlisäverosta, suljin välilehden ja lähdin kävelylle. Teksti on kuin joku olisi ottanut kahdenkymmenenseitsemän maan verolait, survonut ne tehosekoittimeen ja pyytänyt sinua veloittamaan oikean prosentin kassalla muutamassa millisekunnissa. Useimmat perustajat reagoivat samalla tavalla: ensin paniikki, sitten Stripe Tax, sitten epämääräinen toivo, että homma on hoidossa.
Yleensä se onkin hoidossa, kunnes ei enää ole. Ja sinä päivänä, kun se ei ole, haluat oikeasti ymmärtää, mitä laskutusjärjestelmäsi tekee. Vaihtoehto on luottaa mustaan laatikkoon asiassa, joka voi langettaa sinulle jälkiveroja ja sanktioita useassa maassa yhtä aikaa.
Tässä on siis malli, jonka rakensin itselleni Vantnodia suunnitellessani. Vantnod on tekoälypohjainen kirjanpitotuotteemme EU:n pk-yrityksille. Tämä ei ole oikeudellista neuvontaa. Olen rakentaja, en veroasianajaja, ja sinun kannattaa hankkia kunnon kirjanpitäjä ennen kuin lähetät yhtään rahaa liikkeelle. Mutta tällä mallilla minä luen säännöt ilman kävelylenkkiä, ja sama malli on koodattuna jurisdiktioneutraaleihin primitiiveihimme, jotta järjestelmä veloittaa oikein ilman kahtakymmentäseitsemää kovakoodattua erikoistapausta.
Aloita yhdestä kysymyksestä: kuka ostaa ja missä hän on?
Unohda prosentit hetkeksi. Koko koneisto pyörii kahden seikan ympärillä, jotka pätevät jokaiseen yksittäiseen kauppaan:
- Onko ostaja yritys vai kuluttaja?
- Missä hän on?
Siinä se. Kaikki muu (kenen maan ALV, mikä prosentti, kuka tosiasiassa maksaa verottajalle) seuraa noista kahdesta vastauksesta. Jos laskutuslogiikkasi pystyy selvittämään nämä kaksi asiaa luotettavasti, olet ratkaissut suurimman osan ongelmasta. Jos ei pysty, mitkään nokkelat prosenttitaulukot eivät sinua pelasta.
Kutsun näitä kahdeksi akseliksi: B2B vastaan B2C toisella, oma maasi vastaan asiakkaan maa toisella. Neljä ruutua. Opettele nämä neljä ruutua, niin kaaos muuttuu hakutauluksi.
Myynnin paikka (eli: kenen ALV tämä oikein on)
ALV on kulutusvero, joten ydinkysymys, jota EU toistaa, on "missä tämä kulutetaan?". Sitä paikkaa kutsutaan myynnin paikaksi, ja se ratkaisee, kenen ALV pätee.
Fyysisten tavaroiden kohdalla tämä menee nopeasti mutkikkaaksi. Digitaalisissa palveluissa (SaaS, lataukset, e-kirjat, hosting, verkkokurssit, käytännössä mikä tahansa sähköisesti toimitettava) sääntö on virkistävän suora:
B2C-digipalveluissa myynnin paikka on siellä, missä asiakas on. Ei siellä, missä sinä olet. Siellä, missä hän on.
Tämä on se kohta, joka rikkoo ihmisten intuition. Olet suomalainen yritys. Oletat veloittavasi Suomen ALV:n kaikilta, niin kuin helsinkiläinen kioski tekee. Etpä veloitakaan. Myy tilaus kuluttajalle Portugaliin, ja myynnin paikka on Portugali: olet velkaa Portugalin ALV:n Portugalin prosentilla. Myy tuntia myöhemmin tilaus kuluttajalle Saksaan, ja kyseessä on Saksan ALV Saksan prosentilla.
Eli yksi tuote, hinnoiteltu yhteen lukuun, voi olla verovelkaa eri valtiolle riippuen siitä, kuka klikkaa ostonappia. Se tuntuu hullulta, kunnes hyväksyt taustalla olevan logiikan: vero seuraa kuluttajaa, koska kuluttaja on se, joka kuluttaa.
B2B on helppo ruutu: käännetty verovelvollisuus
Tässä tulee varoventtiili. Kun myyt digitaalisen palvelun yritykselle toisessa EU-maassa, et yleensä veloita ALV:tä lainkaan. Siirrät velvollisuuden ostajalle mekanismilla, jonka nimi on käännetty verovelvollisuus (reverse charge).
Mekaniikka on siisti. Annat laskun ilman ALV:tä, merkitset siihen "käännetty verovelvollisuus", ja ostaja tilittää ALV:n omassa maassaan (veloittaa sen itseltään ja vähentää sen samassa hengenvedossa, joten normaalille ALV-velvolliselle yritykselle nettovaikutus on nolla). Olet siirtänyt paperityöt heille.
Käännetyn verovelvollisuuden saa toimimaan ALV-numero. Ostaja antaa sinulle ALV-tunnuksensa, sinä tarkistat sen EU:n VIES-tietokannasta, ja tuo vahvistettu numero on perustelusi sille, ettet veloita ALV:tä. Ilman kelvollista ALV-numeroa et voi käsitellä kauppaa puhtaana B2B-kauppana. Käytännössä siis:
- Toisen jäsenvaltion kelvollinen EU-ALV-numero → käännetty verovelvollisuus, ei ALV:tä, merkintä laskuun.
- Ei ALV-numeroa → käsitellään kuluttajana (B2C), ja ollaan taas siinä "veloita sen paikan prosentti, missä hän on".
Tästä syystä jokaisessa vakavasti otettavassa EU-SaaS-kassassa on ALV-tunnuskenttä, joka pingaa VIESiä reaaliajassa. Kyse ei ole byrokraattisesta teatterista. Tuo live-tarkistus on kirjaimellisesti sarana kahden täysin eri verokohtelun välissä. Vantnodissa käsittelemme VIES-vahvistettua numeroa domain-tapahtumana emmekä lomakkeen merkkijonona, juuri siksi että niin paljon riippuu siitä.
Yksi ansa kannattaa nimetä erikseen: VIESillä on huonoja päiviä. Se kaatuu, tai jonkin maan node aikakatkeaa. Päätä etukäteen, mitä järjestelmäsi tekee, kun tarkistus ei mene läpi. Estetäänkö kauppa? Veloitetaanko ALV ja palautetaan se myöhemmin? Tallennetaanko numero ja yritetään uudelleen? Yhtä yleispätevää oikeaa vastausta ei ole, mutta "kaadu ja toivo parasta" on väärä, ja olen nähnyt kassoja, jotka käytännössä toimivat juuri niin.
OSS: järjestely, joka tekee B2C:stä siedettävän
Takaisin pelottavaan ruutuun. Myyt kuluttajille ympäri EU:ta, olet velkaa ALV:tä jokaisen heidän maassaan, ja ilmeinen painajainen on tämä: pitääkö minun rekisteröityä ALV-velvolliseksi kaikkiin 27 maahan, jättää 27 ilmoitusta ja opetella 27 portaalia 27 kielellä?
Ei pidä. Juuri tätä varten on olemassa One Stop Shop (OSS) -järjestely, ja rehellisesti sanottuna se on EU:n digiliiketoiminnan aliarvostetuin putki.
Näin se menee. Rekisteröidyt OSS:ään kerran, yhdessä jäsenvaltiossa (suomalaiselle yritykselle se on Suomi, Verohallinnon kautta). Sen jälkeen:
- Veloitat edelleen jokaiselta kuluttajalta hänen oman maansa ALV-prosentin. Portugalilainen kuluttaja maksaa Portugalin prosentin, saksalainen Saksan prosentin. Se osa ei muutu.
- Mutta ilmoitat ja maksat kaiken yhdellä neljännesvuosittaisella OSS-ilmoituksella kotimaassasi.
- Sen jälkeen kotimaasi verottaja jakaa rahat muille maille puolestasi.
Eli keräät 27 makuista ALV:tä ja luovutat ne yhdellä ilmoituksella. Yksi rekisteröinti, yksi ilmoitus, yksi maksu. "Missä kuluttaja on" -mutka säilyy (saat edelleen prosentin oikein per kauppa), mutta "asioi 27 veroviraston kanssa" -mutka katoaa.
Aivan pienille rajat ylittäville myyjille on rekisteröintikynnys (sen alle jäädessä voi veloittaa kotimaan ALV:tä), mutta jos olet SaaS-yritys, jolla on edes jonkinlainen EU-kuluttajajalanjälki, ylität sen nopeasti ja OSS:stä tulee kotisi.
Muistisääntö, jota itse käytän: käännetty verovelvollisuus hoitaa B2B:n, OSS hoitaa B2C:n. Kaksi mekanismia, yksi kumpaakin taulukon riviä kohti. Kun tämä napsahti kohdalleen, koko juttu lakkasi tuntumasta kaaokselta ja alkoi tuntua reititysongelmalta.
Se osa, josta kukaan ei puhu: todisteet
Tässä näen muuten huolellistenkin perustajien lipsuvan, ja juuri tämä osa puraisee tarkastuksessa.
Et voi vain uskoa asiakkaan sanaa siitä, missä hän on. Säännöt vaativat, että todistat asiakkaan sijainnin, ja todisteita pitää olla kaksi keskenään ristiriidatonta. Tavalliset ehdokkaat:
- Laskutusosoite
- IP-osoitteen geopaikannus
- Pankin tai kortinmyöntäjän maa
- SIM-kortin maakoodi mobiiliostoissa
Valitse kaksi, jotka ovat samaa mieltä. Laskutusosoite sanoo Espanja, IP sanoo Espanja, hienoa, Espanja on tukevalla pohjalla. Laskutusosoite sanoo Espanja, mutta IP ja kortti sanovat molemmat Ranska? Nyt sinulla on ristiriita, tarvitset säännön sen ratkaisemiseen, ja sinun täytyy tallentaa, miksi päädyit siihen mihin päädyit.
Tämän kohdan ihmiset ohittavat, koska kassalla kaikki tuntuu olevan kunnossa. Tilinteon hetki tulee myöhemmin. Jos verottaja joskus kysyy, miksi veloitit Saksan ALV:n tästä vuoden 2026 tapahtumasta, vastaus ei voi olla "järjestelmä teki sen". Sinun täytyy esittää ne kaksi todistetta, joihin nojasit, juuri siltä hetkeltä, juuri sille kaupalle.
Käytännön ohje on siis tämä: tallenna todisteet tapahtuman mukana, älä pelkkää lopputulosta. Älä tallenna vain merkintää "ALV-prosentti: 19 %, maa: DE". Tallenna laskutusmaa, IP-maa, korttimaa, VIES-tulos ja aikaleima, jos sellainen oli, sekä se sääntö, joka laukesi. Tallennustila on halpaa. Sijaintipäätöksen rekonstruointi kolmen vuoden päästä lokeista, jotka ovat sittemmin kiertyneet pois, ei ole.
Vantnodissa käsittelemme veropäätöstä muuttumattomana kirjauksena, joka on kiinnitetty tapahtumaan: syötteet, todisteet, ajettu sääntö ja lopputulos, jäädytettynä myyntihetkellä. Jos säännöt muuttuvat ensi vuonna, vanhat tapahtumat kantavat yhä mukanaan sitä päättelyä, joka oli oikein silloin, kun ne tapahtuivat. Siinä on ero "me veloitamme ALV:tä" ja "me pystymme puolustamaan jokaista senttiä ALV:tä, jonka olemme ikinä veloittaneet" välillä.
Esimerkki käytännössä
Ajetaan malli kolmen kaupan läpi: sama tuote, sama hinta, sama tiistai.
Kauppa yksi: markkinointitoimisto Tallinnassa, antaa kelvollisen virolaisen ALV-numeron. Kaksi akselia: B2B, toinen EU-maa. VIES vahvistaa numeron. Käännetty verovelvollisuus. Laskutamme ilman ALV:tä, merkitsemme "käännetty verovelvollisuus", ja toimisto hoitaa oman virolaisen ALV:nsä. Valmista.
Kauppa kaksi: freelancer Lissabonissa, ei ALV-numeroa, ostaa henkilökohtaisen paketin. B2C, toinen EU-maa. Myynnin paikka on Portugali. Veloitamme Portugalin kuluttajaprosentin. Raha menee OSS-koriin ja ilmoitetaan neljännesvuosittaisella suomalaisella OSS-ilmoituksellamme. Todisteet: portugalilainen laskutusosoite ja lissabonilainen IP, kaksi lähdettä samaa mieltä, molemmat tallennettuina.
Kauppa kolme: kuluttaja Helsingissä. B2C, oma maamme. Ihan tavallinen kotimainen Suomen ALV, ilmoitettuna normaalisti. Kotimaan myynteihin ei tarvita OSS:ää.
Sama kassa, sama koodipolku, kolme eri verolopputulosta, jokainen perusteltavissa datasta, jonka säilytimme. Siinä on koko peli.
Mihin tämä vie ja mihin ei
Rehelliset rajat. Tämä malli kattaa EU:n sisäiset digipalvelut, jotka ovat useimpien EU-SaaS-perustajien leipä ja voi. Se ei kata fyysisiä tavaroita (niissä säännöt ovat erilaiset ja sotkuisemmat), se ohittaa pienarvoisen tuonnin IOSS-järjestelyn, eikä se kosketa myyntiä brittiläiselle tai yhdysvaltalaiselle asiakkaalle, mikä on oma keskustelunsa omine lomakkeineen. ALV-prosentit muuttuvat. Kynnyksiä säädetään. Sääntö, joka pitää paikkansa tänään, voi muuttua huomenna.
Mutta ajattelumalli on tukeva silloinkin, kun yksityiskohdat liikkuvat. Kuka ostaa, missä hän on, B2B reitittyy käännetyn verovelvollisuuden kautta, B2C reitittyy OSS:n kautta, ja todista sijainti kahdella todisteella, jotka oikeasti tallensit. Rakenna laskutuslogiikkasi näiden kantavien kysymysten ympärille, niin sulatat prosenttimuutoksen ilman arkkitehtuurimuutosta.
Tämän jättäisin sinulle mukaan: älä anna "Stripe hoitaa sen" -ajattelun olla se kohta, mihin oma ymmärryksesi pysähtyy. Työkalut ovat hyviä, ja sinun kannattaa käyttää niitä. Mutta sinun nimesi on ilmoituksissa, ei niiden. Tiedä, mitä laatikko tekee, säilytä todisteet, niin EU:n ALV-järjestelmä muuttuu jostakin, joka pilaa tiistaisi, joksikin, joka vain hiljaa hoituu.
Haluatko keskustella tästä aiheesta? Kirjoita suoraan.
jami@impactnode.fi