Tällä kirjastolla saa luotua Finvoice 3.0 -standardin mukaista xml-dataa sähköisten laskujen luontia varten.
Toteutus ja Finvoice-standardiin tutustuminen kulkivat käsi kädessä. Olen sen verran käytännönläheinen koodaaja, että opettelu koodia kirjoittamalla tuntui luontevalta tavalta tutustua aiheeseen.
Finvoice-standardi ei sinänsä ole vaikea tai kovinkaan monimutkainen, mutta se on laaja. Xsd-tiedossa on yli sata XML-tagia, ja ainakin näin äkkiseltään tuntuu, että tarpeetonta toistoa on turhan paljon. Osa tietotyypeistä on tehty uudelleenkäytettäviksi, mutta esimerkiksi osoitekentistä on useampian kopioita.
Tämän kirjaston ensisijainen tarkoitus on luoda kahden suomalaisen yrityksen välillä välitettävää laskudataa. Siksi olen ensimmäisenä toteuttanut tähän tarkoitukseen sopivat ominaisuudet, ja esimerkiksi kuluttajalaskuihin liittvät asiat olen toistaiseksi jättänyt huomiotta.
Kirjaston tekninen toteutus on kuitenkin sellainen, että matalan tason rajapinnan avulla mitä tahansa laskun osaa pystyy muokkaamaan vapaasti – mutta mitään validointeja ei tässä ole, joten laskun muodostamisessa tulee olla huolellinen. Toisaalta kirjasto tarjoaa valmiin mallin suomalaisen yritykseltä yritykselle kulkevan laskun muodostamiseen, ja se myös huolehtii siitä, että lasku muodostetaan oikein.
Kuva: Julien Monty