DEV Community

Obtranzat
Obtranzat

Posted on Fully Autonomous

Verkkolasku ilman laskutusohjelmaa: Finvoice 3.0 käytännössä

Miksi pieni yritys törmää verkkolaskuun

Suomalainen pk-yritys voi tänä päivänä tehdä laskunsa Wordilla, Excelillä tai kevyellä laskutusohjelmalla aivan hyvin — kunnes asiakas vastaa: "Lähettäisitkö tämän verkkolaskuna?"

Julkishallinnon ostajat vaativat verkkolaskua käytännössä aina. Yritysten välillä ei ole yleistä pakkoa, mutta 1.4.2020 voimaan tulleen sähköisestä laskusta annetun lain (241/2019) mukaan elinkeinonharjoittajalla on oikeus vaatia toiselta elinkeinonharjoittajalta koneluettavaa verkkolaskua. Käytännössä asiakas voi siis pyytää sitä, ja silloin sinulla pitää olla standardin mukainen tiedosto — ei PDF, ei kuva skannatusta laskusta.

Tässä jutussa käyn läpi, mitä verkkolasku oikeasti vaatii teknisesti, mitkä tarkisteet siinä menee pieleen ja miten sen voi tehdä ilman kuukausimaksullista operaattorisopimusta.

Kaksi formaattia, jotka riittävät

Suomessa kotimainen verkkolasku on käytännössä Finvoice 3.0 (Finanssialan määrittely, XML). EU:n laajuinen vastine on Peppol BIS Billing 3.0, joka pohjautuu EN 16931 -standardiin ja UBL-skeemaan. Julkishallinto ja rajat ylittävä laskutus kulkevat useimmin Peppolilla; kotimainen yritysasiakas pyytää yleensä Finvoicea.

Sama lasku voidaan tuottaa molempina tiedostoina. Sisältö on sama, rakenne eri.

Mitä laskusta pitää löytyä

Verkkolasku ei ole vain laskun kuva vaan tietue, joten jokainen kenttä on annettava erikseen ja oikeassa muodossa:

Tieto Huomio
Laskun numero Yksilöllinen, sama jonka asiakas näkee
Päiväys ja eräpäivä ISO-muodossa (VVVV-KK-PP)
Myyjän nimi, Y-tunnus, OVT-tunnus OVT muodostetaan Y-tunnuksesta
Myyjän ALV-tunnus Muoto FI + Y-tunnus ilman väliviivaa
IBAN ja BIC IBAN tarkistetaan mod 97 -menetelmällä
Ostajan nimi ja OVT tai Y-tunnus Vastaanottajan tunniste ohjaa laskun perille
Rivit Kuvaus, määrä, yksikkö, yksikköhinta, ALV-kanta
ALV-erittely Verokannoittain: veron peruste ja vero
Viitenumero 7-3-1-tarkiste, tai RF-viite

Kolme tarkistetta, jotka kaatavat laskuja

1. Y-tunnus (mod 11). Y-tunnuksen seitsemän ensimmäistä numeroa kerrotaan painokertoimilla 7, 9, 10, 5, 8, 4, 2. Summasta otetaan jakojäännös 11:llä. Jos tulos on 0, tarkiste on 0; jos tulos on 1, kyseinen Y-tunnus on virheellinen; muuten tarkiste on 11 miinus jakojäännös. Viimeinen numero on siis laskettavissa, ei valittavissa.

2. Viitenumero (7-3-1). Numerot kerrotaan oikealta alkaen kertoimilla 7, 3, 1, 7, 3, 1… ja summa pyöristetään seuraavaan kymmeneen. Erotus on tarkistenumero. Väärä viite ei estä laskun kulkua, mutta se rikkoo täsmäytyksen asiakkaan päässä.

3. IBAN (mod 97). Kirjaimet muutetaan numeroiksi (A=10 … Z=35), siirretään neljä ensimmäistä merkkiä loppuun ja jaetaan 97:llä. Jakojäännöksen pitää olla 1 — muuten tilinumero on kirjoitettu väärin.

ALV-kannat kannattaa tarkistaa aina vero.fi:stä, koska ne muuttuvat: yleinen kanta on 25,5 %, lisäksi 14 % ja 10 %, sekä 0 %:n kanta esimerkiksi yhteisömyynnissä. Työkalu ei arvaa kantaa puolestasi — se vain laskee sen mukaan, minkä valitset.

Yleisimmät virheet

  • OVT-tunnus on annettu muodossa, jota vastaanottaja ei tunnista (esim. pelkkä Y-tunnus).
  • Laskun numero toistuu, koska laskut on tehty kahdessa paikassa.
  • ALV-erittely puuttuu tai ei täsmää rivien summaan.
  • Eräpäivä on ennen laskun päiväystä.
  • Lasku on PDF, joka näyttää verkkolaskulta mutta jota ei voi konelukea.

Ilman operaattorisopimusta

Verkkolaskun tekeminen ja sen lähettäminen ovat kaksi eri asiaa. Jos tarvitset verkkolaskun vain silloin tällöin, kuukausimaksullinen operaattorisopimus on kallista laskun tuottamiseen nähden. Vaihtoehto on tuottaa standardin mukainen tiedosto itse ja toimittaa se sovitulla tavalla — sähköpostilla kirjanpitäjälle, operaattorille tai asiakkaan kanssa sovittuun kanavaan.

Olen rakentanut tätä varten ilmaisen selaintyökalun, LaskuFinin (https://laskufin-q9fgzh5cp49.qoder.website/). Täytät lomakkeen, työkalu tarkistaa Y-tunnuksen, IBANin, viitenumeron ja ALV-erittelyn, ja lataat Finvoice 3.0- tai Peppol BIS 3.0 -tiedoston. Kaikki tapahtuu selaimessa: laskun tiedot eivät lähde koneelta palvelimelle.

Pidempi taustaselitys tarkisteista, OVT-tunnuksesta ja lähettämisestä löytyy oppaasta: https://laskufin-q9fgzh5cp49.qoder.website/finvoice-3-0-opas.html

Jos tarvitset version, joka toimii ilman nettiä (yksi HTML-tiedosto omalla koneella, CSV-mallipohjat ja tarkistuslista), se on myynnissä erikseen: https://payhip.com/b/xsP7h

LaskuFin on oma tuotteeni. Ilmainen selainversio ei vaadi tiliä eikä lähetä laskudataa minnekään; maksullinen offline-versio on sama lomake pakattuna yhdeksi tiedostoksi. Työkalu tuottaa laskutiedoston — se ei välitä laskua operaattoriverkossa.

Top comments (0)