Suomalaisen verkkolaskun validaattori: Finvoice

Tarkista Finvoice-lasku ennen kuin se lähtee pankkien verkkoon: Finvoice 3.0 -skeema, sitten täsmäävätkö summat ja ALV-erittely ja ovatko viite, IBAN ja Y-tunnus kelvollisia, jokainen havainto omalla rivillään. Mitään ei ladata palvelimelle.

Verkkolaskutus Suomessa lyhyesti

Suomessa yritykset ovat lähettäneet toisilleen verkkolaskuja pitkään ilman pakkoa. Laki sähköisestä laskutuksesta (241/2019) antaa sen sijaan oikeuden: 1. huhtikuuta 2020 alkaen hankintayksikkö tai elinkeinonharjoittaja, jonka liikevaihto on yli 10 000 euroa, voi vaatia toista tällaista lähettämään laskunsa verkkolaskuina (4 §). Hankintayksiköiden on vastaanotettava ja käsiteltävä verkkolaskuja: valtionhallinnon 1. huhtikuuta 2019 alkaen ja muiden 1. huhtikuuta 2020 alkaen (3 §). Laki pitää verkkolaskuna laskua, joka noudattaa eurooppalaista standardia EN 16931.

Useimmat suomalaiset ohjelmistot lähettävät Finvoicea, Finanssiala ry:n julkaisemaa pankkien formaattia, tai Tieton TEAPPSXML:ää. Kummankin versio 3.0 on tehty kantamaan eurooppalaisen standardin sisältö, mutta Valtiokonttori huomauttaa, ettei Finvoice 3.0 -lasku ole standardin mukainen pelkän formaatin vuoksi: lähettäjän on täytettävä se niin, että se on. Julkiset ostajat vastaanottavat myös Peppol BIS Billing 3.0 -laskuja; Valtiokonttori on Suomen Peppol-viranomainen. Rajat ylittävät laskut EU:n yritysten välillä muuttuvat sähköisiksi viimeistään 1. heinäkuuta 2030 ViDA-direktiivin myötä.

Näin tarkistat suomalaisen laskun

  1. Avaa validaattori Finvoice 3.0 -profiililla. Tiedosto, jonka juurielementti on Finvoice, valitsee profiilin itse.
  2. Liitä XML tai pudota tiedosto ja napsauta Validate.
  3. Peppolin kautta kulkevalle laskulle valitse Peppol BIS 3.0 Invoice tai hyvityslaskun profiili.

Mitä tarkistetaan

Ensin Finvoice 3.0 -skeema, sitten omat sääntömme, jotka on kirjoitettu Finanssialan Finvoice 3.0 -soveltamisohjeen pohjalta: verollinen summa on veroton summa lisättynä ALV:llä (XV-FI-01), ALV:n summa on ALV-erittelyn summa (XV-FI-04), kunkin verokannan peruste on sen rivien summa (XV-FI-06), hyvityslaskun summa ei ole positiivinen (XV-FI-08), suomalaisen tai RF-viitteen tarkiste on oikein (XV-FI-09) ja samoin IBANin (XV-FI-10). Y-tunnus, jonka tarkiste on väärin, suomalainen ALV-tunniste, joka ei vastaa Y-tunnusta, ja maksettava summa, joka poikkeaa loppusummasta, ovat varoituksia.

Summat luetaan Finvoicen käyttämällä desimaalipilkulla. Peppol BIS -lasku tarkistetaan UBL 2.1 -skeemaa, EN 16931 -sääntöjä ja Peppol-sääntöjä vasten.

Tarkistusprofiilit

  • Finvoice 3.0: The Finnish banks' e-invoice format, sent between companies and to consumers' online banks. Validoi
  • Peppol BIS Billing 3.0 Invoice: A Peppol invoice checked the way an access point does: UBL 2.1 schema, EN 16931 rules and the Peppol BIS Billing 3.0 rules. Validoi
  • Peppol BIS Billing 3.0 Credit Note: A Peppol credit note checked against the UBL 2.1 schema, the EN 16931 rules and the Peppol BIS Billing 3.0 rules. Validoi
  • EN 16931 Invoice (UBL): A UBL invoice checked against the schema and the business rules of the European e-invoicing standard EN 16931: mandatory fields, code lists and totals. Validoi
  • EN 16931 Invoice (CII): A Cross Industry Invoice checked against the D16B schema and the EN 16931 business rules: the XML inside Factur-X and ZUGFeRD (EN 16931 profile). Validoi

Useimmin rikotut säännöt

Jokaisella on sivu, jossa kerrotaan, mitä se tarkistaa, sen testi ja usein myös korjausohje.

  • XV-FI-01: InvoiceTotalVatIncludedAmount (…) must be InvoiceTotalVatExcludedAmount + InvoiceTotalVatAmount (… + …) (Finvoice 3.0 guidelines, 14).
  • XV-FI-04: InvoiceTotalVatAmount (…) must be the sum of VatRateAmount in the VAT breakdown (…) (Finvoice 3.0 guidelines, 14).
  • XV-FI-06: VatBaseAmount of the … % rate (…) must be the sum of RowVatExcludedAmount of the rows at that rate (…) (Finvoice 3.0 guidelines, 14).
  • XV-FI-08: A credit note (INV02) always has a zero or negative total; InvoiceTotalVatIncludedAmount is … (Finvoice 3.0 guidelines, 10.5).
  • XV-FI-09: The payment reference '…' has no valid check digit: a Finnish reference number (SPY) ends in a 7-3-1 check digit, an international one (ISO, RF) has ISO 11649 c...
  • XV-FI-10: The IBAN '…' is not valid: its check digits do not match, or a Finnish IBAN is not 18 characters (Finvoice 3.0 guidelines, 13).

Kysymyksiä

Ladataanko lasku palvelimelle?

Ei. Skeeman tarkistus ja säännöt toimivat molemmat selaimessasi. Vain API ja URL-valvonta validoivat palvelimillamme.

Ovatko nämä virallisia Finvoice-sääntöjä?

Eivät. Verkkolaskufoorumin Finvoice-Schematron myydään lisenssillä. Säännöt on kirjoitettu Finanssialan vapaasti käytettävän soveltamisohjeen pohjalta ja kokeiltu Finanssialan mallilaskuilla.

Täyttääkö kelvollinen Finvoice 3.0 -tiedosto eurooppalaisen standardin?

Ei itsestään. Valtiokonttori muistuttaa, että Finvoice 3.0 -lasku noudattaa EN 16931:tä vain, jos lähettäjä täyttää sen, mitä standardi vaatii. Julkiselle ostajalle tässä EN 16931 -sääntöjä vasten tarkistettu Peppol BIS -lasku on varmempi reitti.

Voinko vaatia toimittajaltani verkkolaskua?

Kyllä, jos kummankin yrityksen liikevaihto on yli 10 000 euroa tai olet hankintayksikkö: 1. huhtikuuta 2020 alkaen laki sähköisestä laskutuksesta antaa oikeuden vaatia eurooppalaisen standardin mukaisia laskuja.

Voinko tarkistaa laskuja koodista?

Kyllä: API:lla ja komentorivityökalulla parametrilla --schema finvoice-3.0 tai --schema auto kansiolle, jossa on erilaisia laskuja.

Viralliset lähteet

Muut maat