CTA Paikka
CTA Paikka

Jyväskylän ostolaskujen käsittelyä automatisoitiin ohjelmistorobotiikalla

Jyväskylän kaupungilla automatisoitiin ostolaskujen käsittelyä ohjelmistorobotiikalla, sillä laskujen tiliöintiin kaivattiin lisää tehoa ja ketteryyttä. Automatisointi toteutettiin osana yhdentoista kunnan yhteistä KuRob-hanketta. Tässä case-tarinassa kerrotaan, mitä opittiin, kun tekoälyä koeponnistettiin resurssien viisaamman käytön tukijana.
7.3.2022 Maria Vuontisvaara Kuva iStock

Julkisen hallinnon tietotyö ja toimintatavat ovat parhaillaan murrosvaiheessa digitalisaation ja tietotyön automaation tuomien mahdollisuuksien myötä. Käynnissä oleva digivallankumous on välttämätön välivaihe siirryttäessä kohti täysautomaatiota. Onnistumisen perustana toimii tietotyön ja tiedon systemaattinen digitaalinen mallintaminen sekä työntekijöiden osaamisen ja työnkuvan hallittu laajamittainen muutos.

Kuten missä tahansa muussakin organisaatiossa, myös julkis­hallinnossa painitaan digitalisaatioon liittyvien haasteiden ja mahdollisuuksien kanssa. Ehkä jopa astetta painokkaammin, sillä me kansalaisina ja kuntalaisina oletamme saavamme tietoyhteiskunnalta sähköisiä ja automatisoituja palveluita, ajasta ja paikasta riippumatta.

Valtiovarainministeriö on menestyksekkäästi lähtenyt tukemaan digitalisaatiota osana kuntien valtionosuusjärjestelmää. MOST Digital Oy:lla on ollut etuoikeus olla aitiopaikalla toteuttamassa ministeriön tukemia digitalisaatiohankkeita, joissa eri kaupungit ja kunnat ovat yhdisteet voimavaransa rakentaakseen aivan uudentyyppistä verkostomaista toimintamallia ohjelmistorobotiikkaa ja tekoälyä hyödyntäen.

Kuten missä tahansa muussakin organisaatiossa, myös julkis­hallinnossa painitaan digitalisaatioon liittyvien haasteiden ja mahdollisuuksien kanssa.

Yksi tällainen tietotyön automaatiota pilotoiva hanke on viime vuonna päättynyt Kunnille Robotteja (KuRob) -hanke, jossa mukana oli yksitoista kaupunkia ja kuntaa. Hankkeen tavoitteena oli uudistaa mukana olevien kuntien työkulttuuria, toimintatapoja ja prosesseja hyödyntämällä ohjelmisto­robotiikkaa käytännön työtehtävissä. Lisäksi hankkeessa tuettiin digitaalista muutosjohtamista kuntasektorilla sekä edistettiin digitalisaatiota ja tietotyön automatisoitumista kuntien esimiehiä valmentamalla.

Robotiikalla tehoa ostolaskujen käsittelyyn

KuRob-hankkeessa toteutettiin eri palvelualueiden prosessien läpivalaisu ja opeteltiin tunnistamaan ohjelmistorobotiikalla ja/tai tekoälyllä automatisoitavia prosessien osasia. Jokaisessa kunnassa otettiin käyttöön myös ohjelmistorobotti automatisointitavoitteiden ja muiden hyötyjen konkretisoimiseksi.
Valikoituneita kohteita olivat muun muassa sovittujen hoito­aikojen ylittymisen seuranta, käyttäjätunnusten hallinta, kirjanpidon tietojen täsmäytys, kiinteistöveron seuranta, työvuoro­suunnittelu, varhaiskasvatuksen lapsien lukumäärän ennustaminen tekoälyavusteisesti sekä ylivoimaisesti suosituimpana ostolaskujen tarkistaminen, tiliöinti ja kiertoon laitto.

Jyväskylän kaupungille ohjelmistorobotiikan ja tekoälyn käyttöönottoa toteutettiin vaiheittain; ensimmäisessä vaiheessa hoidettiin ostolaskujen tiliöinti sivistystoimen tiettyjen laskujen osalta. Jyväskylän kaupungilla ostolaskuja on vuodessa noin 155 000 kappaletta, joista tilaukseen perustuvia laskuja tulee 15 000 kappaletta:

– On selvää, että ostolaskujen käsittelyyn menee aikaa ja laskujen tarkastus, tiliöinti ja hyväksyminen on henkilöstöä kuormittava ja aikaa vievä prosessi, toteaa Jyväskylän kaupungin taloussuunnittelupäällikkö Erikka Saastamoinen.

Toisessa vaiheessa tarkoituksena oli selvittää, miten ohjelmistorobotiikan lisäksi tekoälyä voitaisiin hyödyntää Jyväskylän kaupungin ostolaskujen tiliöinnissä. Projekti toteutettiin tiiviissä yhteistyössä Monetra Keski-Suomi Oy:n ja MOST Digital Oy:n kanssa.

– Tavoitteena oli vähentää ostolaskujen tiliöintiin menevää aikaa, parantaa datan laatua sekä helpottaa ja nopeuttaa ostolaskujen käsittelyprosessia. Tarkoituksena oli myös vähentää reitityksen kuormittavuutta, Saastamoinen jatkaa.

Tavoitteena oli vähentää ostolaskujen tiliöintiin menevää aikaa, parantaa datan laatua sekä helpottaa ja nopeuttaa ostolaskujen käsittelyprosessia.

Jyväskylän kaupungille talous- ja palkkapalveluita tarjoa­van Monetra Keski-Suomen kehittämispäällikkö Henna ­Lehmusjoki-Laineen mukaan oli selvää, että Monetra haluaa olla mukana projektissa kehittämässä ja oppimassa uutta.

– Ostolaskujen käsittely kuntasektorilla on yleisestikin yksi työläimmistä taloushallinnon tehtävistä. Oli hienoa päästä mukaan kehittämään yhdessä ratkaisua, miten sitä voitaisiin automatisoida, ja samalla vapauttaa asiantuntijoiden töitä muihin haastavampiin ja mielekkäämpiin tehtäviin.

Tekoälyprojekti käyntiin datan laadun analysoinnilla

Tekoälyprojekti aloitettiin tutkimalla vuoden 2020 ostolasku­data yhdeksästä Jyväskylän kaupungin palvelualueesta sekä vastaava data kirjanpidosta, jotta mahdolliset tiliöintimuutokset saatiin varmasti huomioitua. Kun aineistosta poistettiin sekä sisäiset- että hyvityslaskut, jäi jäljelle noin 125 000–130 000 relevanttia laskua analysointiin sekä ennustealgoritmin luomiseen.

Ostolaskuista 86,4 prosenttia oli yksi- ja kaksirivisiä laskuja, ja tämän lisäksi 95 prosentilla verkkolaskuina vastaanotetuista laskuista oli saatavilla XML-tiedostot. Merkittävin havainto liittyi ostolaskujen tiliöintitavan eroavaisuuksiin: vuoden 2020 aineistosta löytyi kaikkiaan 20 erilaista tiliöintitapaa, vaikka pakollisina laskentatunnisteina olivat tili, kustannuspaikka ja alv-koodi. Tietyillä alueilla käytettiin lisäksi seuraavia laskentatunnisteita: verkko, verkon vaihe, toiminto, projekti sekä sisäinen tilaus. Ilmenneet eroavaisuudet loivat omat haasteensa tekoälyalgoritmimallin toteuttamiseen.

Sinänsä monitahoinen tiliöintitapa ei ollut yllätys – kuntasektorilla se on oikeastaan ominaispiirre johtuen kuntalakipohjaisen budjettitalouden seurantatarpeista sekä eri palvelualojen poikkeavista ja monitahoisista talousseurannan tarpeista. Yksin arvonlisäverojärjestelmiä ja siten alv-koodeja on moninkertainen määrä verrattuna yksityissektorin toimijoihin.

Robotin ja tekoälyn yhteistoimintalogiikka

Valittujen palvelualueiden ostolaskut ohjattiin robotille, joka keräsi laskun perustiedot ja laskun XML-tiedoston sekä lähetti ne tekoälyalgoritmille. Tekoäly pyrki ensimmäisenä ennustamaan laskurin rivimäärän, seuraavaksi laskun rivin tiliöinti­tavan eli mitä laskentatunnisteita tiliöintiin käytettiin, ja lopulta yksittäisen laskentatunnisteen varsinaisen arvon (kirjanpidon tili, kustannuspaikka alv-koodi jne.). Ennustemalleja oli kaikkiaan kymmenen per palvelualue. Mikäli laskun kaikki ennustettavat arvot ylittivät 80 prosentin kynnysarvon, robotti tiliöi laskun ja valitsi laskulle myös tarkastajan avainsanojen perusteella.

Myös laskun osatiliöinti oli mahdollista, mikäli algoritmi pystyi ennustamaan kirjanpidon tilitiedon yli prosentin todennäköisyydellä. Jos tiliöinti ei onnistunut, lisäsi robotti kuitenkin todennäköisimmät tiliöintitiedot laskun kommenttikenttään.

Ennustemuuttujia oli palvelualueesta riippuen yhteensä noin 250–350, ja ne rakennettiin ohjelmallisesti XML-sanomista. Tekoälyalgoritmin rakentamisessa hyödynnettiin Random Forest -luokittelijaa kymmenkertaisella ristiinvalidoinnilla siten, että osa datasta jätettiin käyttämättä opetuksessa ja sen sijaan sillä testattiin mallien toimivuutta. Tämä malli usea­sti toistettuna antaa suuntaa tarkkuudesta, joka oli odotettavissa käytännössä, mikäli laskutusaineistossa ei sisällöllisesti ilmenisi muutoksia.

Rohkaisevat tekoälykokeilun tulokset

Tekoälykokeilun tulokset olivat lupaavia: tiliöintiehdotukset pystyttiin tekemään 58 prosentille laskuista – lisäksi tekoäly tunnisti yksi- ja kaksiriviset laskut hyvällä prosentin tarkkuudella. Yli kaksirivisten rivimäärän tunnistaminen oli hieman heikompaa, mutta koska niiden osuus laskumassasta oli vain kolme prosenttia, jätettiin nämä tiliöintiennusteen ulkopuolelle.

Yksittäisten laskentatunnisteiden ennusteet olivat myös hyviä: kirjanpidon tili pystyttiin ennustamaan 80 prosentin tarkkuudella, alv-koodi prosentin ja kustannuspaikka noin prosentin tarkkuudella. Ylipäänsä tilin ja alv-koodin ennustaminen vaikutti olevan tekoälylle helppoa, joten kynnysarvot oli mahdollista pitää korkeina.

Tekoäly tuotantoon – kuinkas sitten kävikään?

Tekoälyavusteista ostolaskujen käsittelyä päätettiin kokeilla kahdella palvelualueella kolmen kuukauden ajan, ja testata, kuinka hyvin mallit toimivat käytetyissä tuotantoympäristöissä. Tuotantopilotin kokemusten jälkeen tarkoituksena oli tehdä päätös – voisiko ennustemallia laajentaa koko kaupungin ja sen liikelaitosten laskujen käsittelyyn? Loppukäyttäjien palaute ja mielipiteet tekoälyn onnistumisesta nousivat päätöksenteossa tärkeään rooliin.

Tekoäly aloitti syyskuun lopulla – toimivuutta seurattiin tiiviisti ja tuotannosta kerättiin systemaattisesti statistiikkaa. Pian huomattiin, että tekoälyn onnistumisprosentti tuotannossa oli selvästi pienempi kuin pilottikokeilun perusteella oletettu 58 prosenttia, mutta miksi? Kehittäjätiimimme listasi vaihtoehdot, jotka voisivat selittää heikomman ennusteonnistumisen tuotannossa: kyse voisi olla ohjelmointivirheestä joko 1) tuotantototeutuksessa tai 2) tilastojen laskentatavassa. Vaihto­ehtoisesti ongelmana saattaisi olla 3) lähtöaineiston (XML) datan rakenne, 4) testaus- ja opetusdatan väliset eroavaisuudet tai 5) looginen virhe ennustemalleissa ja/tai tuotantodemossa.

Tuotantopilotin kokemusten jälkeen tarkoituksena oli tehdä päätös – voisiko ennustemallia laajentaa koko kaupungin ja sen liikelaitosten laskujen käsittelyyn?

Vaihtoehdot käytiin huolellisesti läpi, selvitettiin ja suljettiin pois yksi kerrallaan testaamalla. Eri testausmenetelmillä pystyttiin todentamaan, että laskuaineisto ei ollut vinoutunut eikä ennustemalleista löydetty loogisia virheitä. Testeissä ei ilmennyt mitään sellaista, joka selittäisi tuotannossa havaitun tiliöintien lukumäärän putoamisen. Isoin ero oli opetusdatan määrässä – koneoppimismalleilla oli tuotannossa isompi data-avaruus käsiteltävänä (+67 %), joten vaihtoehtojen suuren määrän arvioitiin heikentävän ennusteiden varmuusprosentteja.

Ennustemalleja kyettiin kuitenkin parantamaan lisäämällä opetusdataan kuluvan vuoden laskutusaineisto sekä laajentamalla algoritmien ja kapasiteetin määrää. Lisäksi tekoälyä tehostettiin sanaston osalta siten, että sanojen sijamuodot karsittiin pois ja uusista ”taikasanoista” muodostettiin oma tieto­pankki ja luokittelutekijä. Muutoksia tehtiin myös tiliöintitapojen määrään ja todennäköisyyksien tarkkuusvaatimuksiin liittyen, jotta niiden vaikuttavuus pystyttiin todentamaan.

Parannuskeinot tuotantoon – auttoivatko ne?

Tekoälyn edesottamuksia ja statistiikkaa seurattiin viikkotasolla, ja tavoitteena ollut ostolaskujen kiertoon laittaminen sujuikin robotilta viikko viikolta sujuvammin. Sen sijaan tiliöintien ennustamisessa ei tapahtunut merkittävää kasvua, useista parannustoimenpiteistä huolimatta.

Juurisyyn etsintää ennustemallien toimimattomuuteen jatkettiin ja laskujen XML-sanomarakenteissa havaittiin jotain merkillistä: asiakkaalla oli juuri tuotantokäytön alkaessa tapahtunut verkkolaskuoperaattorin vaihdos, jolloin laskuja oli tullut koko tuotantokäytön ajan sekä vanhalta että yhä enenevässä määrin uudelta operaattorilta.

Lisäksi havaittiin, että toimittajien ostolaskut tulivat useimmiten EN16931-standardimääritysten mukaisesti joko Finvoice 3.0- tai TEAPPSXML 3.0 -muotoisena. Kuitenkin vastaanotto tapahtui edelleen 2.7.2-muodossa. Ihmissilmin katsottuna XML-sanomien rakenteesta ei eroa juurikaan havaitse, mutta XML-parserin avulla hyvin yksinkertaisesta laskusta löydettiin kaikkiaan 84 eroavaisuutta. Löydös oli merkittävä, sillä tekoälyalgoritmi nojasi nimenomaan XML-sanoman rakenteeseen, eli käytetty opetusdata oli sittenkin erilaista kuin sisään tulevat uudet laskut.

Mitä opittiin?

Jyväskylän kaupungin ostolaskujen käsittelyn ­tekoälyprojekti oli uraauurtava kokeilu: projektin keskeisimpänä oppina ­voidaan todeta, että ohjelmistorobotin käyttö ostolaskujen tiliöinnissä toimii hyvin. Sen sijaan robotin ja tekoälyn yhteistyöstä saatava lisähyöty on riippuvaisempi datan laadusta ja organisaation omista käytänteistä; kuinka tarkasti tilaaja on merkinnyt viitetiedot ostolaskuun. Kokeilun suurin hyöty ilmeni lopulta laskujen reitittämisessä, sillä laskut saatiin tarkastukseen ­oikealle henkilölle aiempaa nopeammin.

Yhtenä yllätyksellisimpänä löydöksenä olivat XML-sanoma­rakenteiden muutokset eri versioiden ja operaattoreiden välisessä sanomaliikenteessä. Kolmen kuukauden suunnitellun käytön jälkeen päätettiin tuotantokäytön osalta vielä odottaa, että laskudata olisi semanttisesti yhtenäisempää niin operaattorin kuin formaatin osalta.

Projektin keskeisimpänä oppina ­voidaan todeta, että ohjelmistorobotin käyttö ostolaskujen tiliöinnissä toimii hyvin.

– Pilottikokeilu projektina oli mielenkiintoinen, ja opimme siitä valtavasti. Jyväskylän kaupungin strategian mukaisesti lähdimme rohkeasti kokeilemaan tekoälyn hyödyntämistä resurssien viisaamman käytön edistämiseksi, toteaa Erikka Saastamoinen.

Samaa mieltä on Monetra Keski-Suomen Henna Lehmusjoki-Laine:

– Kokeilukulttuuri sekä rohkeat ja ennakkoluulottomat avauk­set kuuluvat Monetra Keski-Suomen kehitystoimintaan. Projektina tekoälykokeilu oli opettavainen, ja yhteistyö sekä tiedon jakaminen ja yhdessä oppiminen eri osapuolten välillä toimivat koko projektin ajan esimerkillisesti.

KuRob-hanke

Hankkeessa mukana olivat Jyväskylän lisäksi Hämeen­linnan, Kokkolan, Nokian, Riihimäen ja Ylöjärven kaupungit sekä Asikkalan, Janakkalan, Hollolan, Pirkkalan ja Uuraisten kunnat. Hanke käynnistyi maaliskuussa 2020 ja päättyi lokakuussa 2021.

Asiantuntijana
Maria Vuontisvaara Head of Consulting and Partnerships, MOST Digital Oy
JulkishallintoUusimmat Artikkelit
Katso kaikki