Tapahtumatuontoja on ePalkkoihin toteutettu runsaasti ja eri tavoin.
Perinteisin tapa on ns. CSV-tuonti. Useimmat työajanseuranta- ja ERP-järjestelmät tuottavat näitä yleensä sarake-eroteltuina tiedostoina.
Lue lisää tapahtumatuonnista
– ePalkoissa on dokumentoitu ns. yleinen tekstituonti; tässä linkki tietuekuvaukseen.
Useat asiakkaamme ja kumppanimme ovat toteuttaneet tietojen tuonnin ePalkkoihin edellä mainitun kuvauksen mukaisesti. Lisäksi olemme vakioineet useiden järjestelmien perusformaatit palvelukohtaisesti. Ajatuksena on, että kumpikin osapuoli noudattaa sovittua siirtomuotoa versiosta riippumatta. Muista kuitenkin aina tarkistaa versioinnit ja tietojen sisällön oikeellisuus hyvissä ajoin ennen tuotantoon siirtymistä.
Tässä ohjeessa luetellaan eri tuontiformaatit.
- Tekstituonti
-
ABM Inion
-
Auramo Elli
-
CloudComputing
-
Dayroll
-
Eepos
-
ePalkat rivit
-
Filemaker
-
Futursoft
-
HansaWorld
-
Hedsam
-
Finago ePalkat
-
Finago HR Easy
-
Heeros Matkalaskut
-
Finago PSA
-
Maxtech
-
MEGA
-
Movenium
-
Pupesoft
-
Sector
-
Sympa
-
Tamtron
-
Timecon
- Työvuorovelho sarake
-
ValueFrame
-
Ventus
-
Vuokraturva
-
Winbus
-
WMF Numeron
Sarakedata
Sarakedata perustuu seuraavaan rakenteeseen:
| Laji1 | Laji2 | Laji3 | Laji4 | Laji5 | Laji6 | Laji7 | Laji8 | Laji9 | |
| 123 | 80 | 1,5 | 12 | 235 | 5,6 | ||||
| 321 | 72 | 3,2 | 2 | 112 | |||||
| 222 | 92 | 4 | 8 | 6,3 |
Sarakeotsikot muodostavat palkkalajit. Palkkalajit tulkitaan lajivatsaavusstaulukon kautta.
Sarake 1 sisältää henkilönumeron. Henkilötoeto tulkitaan henkilövastaavuustaulukon kautta
Luvut tulkitaan siten että desimaalierottimena käy sekä piste että pilkku. Nolla-arvoiset solut jätetään käsittelemättä.
Aacon
-
Tiedostomuoto: kiinteälevyinen tekstitiedosto (plain text), ilman erillisiä sarake- tai välimerkkejä (fixed-width).
-
Rivit: pelkkiä datarivejä (ei otsikkoriviä). Jos tuontitiedosto sisältää otsikon, se luetaan vain lokiin (mutta ei käsitellä tietona).
-
Rivipituus: vähintään 29 merkkiä. Kaikki merkit 1–29 käsitellään, loput rivillä sallitaan mutta niitä ei lueta.
-
Merkistö: ASCII tai UTF-8 – pelkkiä numeroita ja pisteitä kentissä 1–29.
| Sijainti | Pituus | Sisältö | Muoto | Esimerkki |
| 1–4 | 4 | Päättymispäivä | ppkk (päivä ja kuukausi, ilman vuoden osaa) | 3112 = 31.12. |
| 5–8 | 4 | Henkilönumero | 4-merkkinen, vasemmalta nollapadattu kokonaisluku | 1 |
| 9–12 | 4 | Palkkalaji | 4-merkkinen, vasemmalta nollapadattu kokonaisluku | 17 |
| 13–23 | 11 | Määrä | Desimaaliluku, pisteenä erottimena, 2 desimaalia, vasemmalta nollapadattu (sisältää pisteen) | 00000017.00 |
| 24–29 | 6 | Tunnit | Desimaaliluku, pisteenä erottimena, 2 desimaalia, vasemmalta nollapadattu | 001.00 |
Jos kenttä Määrä on arvoltaan 0 (nolla) skripti lukee sen sijaan kentän Tunnit (ja päinvastoin). Molemmat kentät on kuitenkin lähetettävä kaikilla riveillä.
Esimerkki:
3112 0001 0017 00000017.00 001.00
-
3112 → tapahtuman päättymispäivä 31.12.
-
0001 → henkilön numero 1.
-
0017 → palkkalaji 17.
-
00000017.00 → määrä 17,00 (esim. kappalemäärä).
-
Varmista, että kenttien pituudet ja nollapaddaukset ovat täsmälleen yllä olevan mukaiset.
-
Rivien ei tarvitse loppua puhtaasti kenttäkuvauksen jälkeen; mahdollinen ylimääräinen data rivin lopussa ohitetaan.
-
Tarkista ennen tuontia, että kaikki palkkalajikoodit ovat järjestelmässäsi voimassa ja että henkilönumeroita ei ole nollia tai tyhjiä rivejä.
-
Tiedostossa ei saa olla tyhjiä rivejä datarivien välissä.
Ajomestari
1. Esivalmistelut
Varmista, että sinulla on Ajomestari-käyttöliittymässä oikeudet suorittaa tapahtumatuonti (moduuli 202 “Tapahtumatuonti”).
Päätä, mille kaudelle haluat tuoda tapahtumat. Syötä kausi Ajomestari-ikkunan kenttään (esim. 2025002).
Tiedoston muoto
Tiedosto on kiinteäleveyksinen (fixed-width) tekstitiedosto. Riveillä kenttien alkukohdat ja pituudet ovat:
| Kenttä | Alkup. | Pituus | Kuvaus |
| Henkilönumero (HloNro) | 1 | 5 | Asiakkaan tai työntekijän tunnus |
| Palkkalaji (Laji) | 16 | 4 | Palkkalajin koodi |
| Määrä (Lkm) | 30 | 8 | Suoritteiden määrä (ilman desimaalierotinta, jaettuna kahdella desimaalilla, esim. “00001234” → 12,34) |
| KP-tili (KP) | 38 | 4 | Kustannuspaikka (jos käytössä) |
| … | … | … | Mahdolliset muut kentät voidaan laajentaa tarvittaessa |
-
Luettu = tuodut rivit
-
Ohitettu = rivit, joilla määrä oli nolla tai maksutodennus ei sallinut tuontia
-
Virhettä = rivit, joissa henkilöä tai palkkalajia ei löytynyt tai tallennus epäonnistui
Yleiset virhetilanteet ja korjaukset
| Henkilöä ei löydy | Excel-tiedostossa epäkelpo henkilötunnus | Päivitä Taulukkoon tai korjaa tiedosto |
| Palkkalaji ei löydy | Koodi ei vastaa järjestelmän palkkalajeja | Lisää puuttuva palkkalaji järjestelmään |
| Maksu lukittu | Maksuun ei voi lisätä rivejä | Tarkista, onko maksu jo käsitelty payrollissa |
| Maksu verolaskettu | Verotus on jo suoritettu | Luo uusi maksuerä tai palauta tila |
Carlo
-
Muoto: tekstipohjainen, rivinvaihto Windows-tyyppinen (CRLF).
-
Erottimet: puolipiste (
;) (tai ohjelman määrittämä erotin – varmista että olet valinnut oikean erottimen tuonti-näytöllä -
Koodaus: ANSI tai UTF-8 (ilman BOM-merkkiä).
-
Rivimäärä: vapaasti – ei otsikkoriviä (jos otsikko on, poista se tai määritä asetuksista ohitettava rivi).
Esimerkki:
001;2025-04-25;12345;P001;; ;100;C001;;2025-04-25
002;2025-04-25;23456;P002;; ; 50;C002;;2025-04-25
| Sarake | Kuvaus | Käyttö |
| 1 | Rivitunnus / numero (vapaa) | Virhelokiin |
| 2 | Päivämäärä (tuonti‐rivin ajankohta) | Ei lueta |
| 3 | Henkilönumero | Pakollinen; jos =0 → ohitetaan rivi |
| 4 | Palkkalaji | Pakollinen; jos ei löydy → virhe |
| 5 | Vapaa | Ei lueta |
| 6 | Vapaa | Ei lueta |
| 7 | Määrä | Pakollinen; Luvuksi muuntaa merkkijonon numeroksi; 0 → ohitetaan |
| 8 | Kustannuspaikka | Valinnainen; jos tyhjä, haetaan oletus henkilötiedoista |
| 9 | Vapaa | Ei lueta |
| 10 | Päivämäärä (toinen kenttä) | Ei lueta |
Tyhjät kentät täytetään silti erotinpaikoilla (esim. ...;P001;; ;100;...)
Lokiviestit, joissa mm.
-
“Rivi ilman henkilöä”
-
“Henkilöä ei löydy”
-
“Palkkalaji … ei löydy”
-
“Määrä = 0 – ohitetaan”
-
“Maksu lukittu/verolaskettu/päätetty – ohitetaan”
Lopuksi: XXX luettu, YYY ohitettu | Z virhettä.
-
Luettu = lisätyt tai päivitetyt rivit
-
Ohitettu = määrältään nollat tai virhetapaukset, joissa rivi jätettiin kiertoon
-
Virhettä = rivit, joissa Henkilö tai Palkkalaji puuttui tai tallennus epäonnistui
Econen
| Sarake | Sisältö | Pakollinen? | Huomio |
| 1 | Henkilönumero | Kyllä | Jos = 0 → rivi ohitetaan |
| 2 | Päivämäärä | Ei | Ei lueta |
| 3 | Määrä (Lkm) | Kyllä | Muunnetaan numeroksi; 0 → ohitetaan |
| 4 | Palkkalaji | Kyllä | Virhe jos ei löydy |
Esimerkki: 12345;2025-04-25;100;P001
Edenred
Alla kuvaus tiedoston rakenteesta ja tuontiprosessista kuukausittaisten Edenred-lounastietojen tuomiseksi järjestelmään.
-
Tyyppi: tekstitiedosto, rivinvaihdot Windows-tyyppiset (
CRLF) -
Koodaus: ANSI tai UTF-8 (ilman BOM)
-
Erottimet: oletuksena tab (
ASCII 9), Clarion-muodossa<009>(määritystä voi muuttaa muuttujassaL:Erotin) -
Otsikkorivi:
| Sarake | Sisältö | Pakollinen? | Huomio |
| 1 | Henkilönumeron osa 1 | Kyllä | Yhdistetään osaan 2 muodostaen kokonumero (Sarake1 + ' ' + Sarake2) |
| 2 | Henkilönumeron osa 2 | Kyllä | — |
| 3 | Summa (kokonaissumma/á-hinta) | Kyllä | Luetaan merkkijonona, muutetaan numeroksi; jos = 0, rivi ohitetaan |
| 4+ | Mahdolliset lisäkentät | Ei | Ohitetaan – käyttämätön varatila |
Esimerkki: 12345<TAB>6789<TAB>50.00 – tuottaa henkilönumeroksi “12345 6789” ja summaksi 50.00.
Lopuksi: <N lisätty> Edenred-riviä tuotu, <V> virhettä, <O> ohitettu.
-
Lisätty = onnistuneesti vietyjen rivien määrä
-
Virhettä = rivien lukumäärä, joissa henkilö- tai tallennusvirhe
-
Ohitettu = nollarivit tai verolasketut maksut
Lisätietoja TÄÄLTÄ.
Elli
Tietuekuvaus:
| Sijainti | Pituus | Sisältö | Huom. |
| 1 – 5 | 5 | Henkilönumero | Pakollinen; jos = 0 → rivi ohitetaan |
| 16 – 19 | 4 | Palkkalaji | Pakollinen; virhe jos ei löydy |
| 25 – 33 | 9 | Määrä (Lkm) | Muunnetaan numeroksi; 0 → ohitetaan |
| 34 – 47 | 14 | Á-hinta | Kertakäyttö-hinta, desimaalierotus sisällä |
| 116 – 125 | 10 | Alkupvm | Muoto YYYYMMDD (esim. 20190226) |
| 126 – 135 | 10 | Loppupvm | Muoto YYYYMMDD |
-
Muoto: kiinteämittainen tekstitiedosto
-
Rivinvaihdot: Windows-tyyppiset (
CRLF) -
Koodaus: ANSI tai UTF-8 ilman BOMia
Esimerkki: 12345..........P001........000001000...000000005000.00........20190201 20190228
Lopputulos: [N luettu], [M ohitettu] | [E virhettä].
-
Luettu = tuodut rivit
-
Ohitettu = määrältään nollat tai rivit ilman henkilöä
-
Virhettä = puuttuvat henkilöt tai palkkalajit, tallennusvirheet
Encore
Samassa tuonnissa päivitetään henkilötiedot ja tapahtumat
| Tyyppi | Kuvaus | Kentät (SarData[n]) |
| 1 | Henkilö | 2 = henkilönumero |
| 3 = henkilön nimi | ||
| 2 | Palkkalajit | 2 = palkkalajin koodi |
| 3 = palkkalajin nimi | ||
| 4 = lukuja (esim. 30) | ||
| 5 = (tyhjä) | ||
| 6 = 0 | ||
| 7 = (tyhjä) | ||
| 8 = lukuja (esim. 3) | ||
| 3 | Jakson otsikko | 2 = pvm |
| 3 = jakson tunnus | ||
| 4 = (tyhjä) | ||
| 5 = alkupvm | ||
| 6 = loppupvm | ||
| 4 | Tapahtuma | 2 = pvm |
| 3 = jakson tunnus | ||
| 4 = palkkalaji | ||
| 5 = lukumäärä | ||
| 6 = á-hinta | ||
| 7 = summa | ||
| 8 = kustannuspaikka | ||
| 9 = (tyhjä) | ||
| 10 = (tyhjä) | ||
| 11 = pvm | ||
| 12 = (tyhjä) | ||
| 13 = selite | ||
| 14 = (tyhjä) | ||
| 15 = rivinumero | ||
| 16 = valuutta |
Encore henkilötiedot:
| Indeksi | Kenttä | Kuvaus / Sijoitus |
| 1 | Tietuetyyppi | Aina “1” |
| 2 | Henkilönumero | Käyttäjätunnus, koodi tai juokseva numero |
| 3 | Nimi | Etunimi ja sukunimi (esim. “Matti Meikäläinen”) |
| 4 | Lähiosoite | Katuosoite |
| 5 | Postiosoite | Postinumero ja postitoimipaikka |
| 6 | Työpuhelin | Numero |
| 7 | Kotipuhelin | Numero |
| 8 | GSM | Matkapuhelinumero |
| 9 | Pankki (IBAN-alku) | Pankin nimi tai IBAN-alku |
| 10 | Tilinumero (BIC) | Kontonumero ja/tai BIC |
| 11 | Sotu | Henkilötunnus; jos tyhjä, täytetään 000000-0000 |
| 12 | Työsuhde alkoi | Päivämäärä (Clarion-muoto @D10-maskilla) |
| 13 | Työsuhde loppui | Päivämäärä |
| 14 | Verotuskunta | Kuntakoodi tai nimi |
| 15 | Pidätystapa | 0 = Normaali, 1 = Kumulatiivinen, 2 = Portaikko |
| 16 | Perusprosentti | Prosenttiluku |
| 17 | Vuosituloraja | Lukumääräinen raja |
| 18 | Lisäprosentti | Prosenttiluku |
| 19 | Tuloraja 2 | Luvun raja |
| 20 | Prosentti 3 | Prosenttiluku |
| 21 | Tuloraja 3 | Luvun raja |
| 22 | Prosentti 4 | Prosenttiluku |
| 23 | Verokortin alkaen | Päivämäärä |
| 24 | Ansiot | Eurot tai muu summa |
| 25 | Ammatti | Tekstikoodi tai kuvaus |
| 26 | Sivutoimi | 0 = ei, 1 = kyllä |
| 27 | Palkanperuste | Teksti |
| 28 | Ryhmä | Teksti |
| 29 | Lisätiedot | Vapaa teksti |
| 30 | Eläkelaji | 0=TEL, 1=LEL, 2=TAEL, 3=YEL, 5=EI, 10=TYEL |
| 31 | Eläkevak. % | Prosenttiluku |
| 32 | Tapaturmavak. % | Prosenttiluku |
| 33 | Työtapaturmavakuutus | 0 = normaali, 1 = osayrittäjä, 2 = ei vakuutusta |
| 34 | Ay-yhdistysnumero | Teksti |
| 35 | Palkkajakso | 0 = kuukausi, 1 = 2 vk, … |
| 36 | Sukupuoli | 0 = mies, 1 = nainen |
| 37 | Tiliöintiryhmä | Teksti |
| 38 | Kustannuspaikka | Koodi |
| 39 | Projekti | Koodi |
| 40 | Lomapäivät | Lukumäärä |
| 41 | KTA-tunnit | Lukumäärä |
| 42 | KTA-markat | Lukumäärä |
| 43 | Viimeksi laskettu KTA | Lukumäärä |
| 44 | KTA | Lukuarvo |
| 45 | Loma-KTA | Lukuarvo |
| 46 | Apuluku 1 | Vapaa numerokenttä |
| 47–55 | Vara | Ei käytössä |
Alla kuvataan, miten tapahtumarivit jäsennetään ja mitä kukin sarake merkitsee. Rutiini käsittelee vain tietuetyypin “4” rivit.
| Sarake | Sisältö | Huomio |
| 1 | Tietuetyyppi | Aina “4” |
| 2 | Maksupäivä | Päivämäärä (esim. YYYY-MM-DD) |
| 3 | Henkilönumero | Rekisterin avain |
| 4 | Palkkalaji | Koodi |
| 5 | Lukumäärä | Kokonais- tai desimaaliluku; 0 → rivi ohitetaan |
| 6 | Á-hinta | Yksikköhinta |
| 7 | Yhteensä | Kokonaissumma (ei pakollinen, lasketaan tarvittaessa) |
| 8 | Tili | Kirjanpidon tiliili (jos tyhjä, käytetään palkkalajilta) |
| 9 | Kustannuspaikka | Kustpa-koodi |
| 10 | Projekti | Projektikoodi |
| 11 | Päivämäärä | Vapaavalintainen pvm (ei pakollinen) |
| 12 | Työnumero | Tyon tunnus |
| 13 | Selite | Vapaa teksti |
| 14 | Työn vaativuusryhmä | Koodi tai numero |
| 15 | Rivinumero | Jos ≠ 0, kyseistä riviä käytetään Plt:Rivi–avaimena |
| 16 | Valuutta | Koodi (esim. EUR) |
| 17 | Numeroavain | Liitetään palkkakauden yläosaan (avainkausi) |
| 18 | Palkkalajin selite | Vapaa teksti |
HRSuunti
-
Muoto: tekstipohjainen, rivinvaihdot Windows-tyyppiset (CRLF)
-
Koodaus: ANSI tai UTF-8 ilman BOM
-
Erottimet: (esim. puolipiste
;tai tab) -
Otsikkorivejä: ei – kukin rivi käsitellään suoraan tietueena
Tietuekuvaus:
| Sarake | Sisältö | Pakollinen? | Huomio |
| 1 | Henkilönumero | Kyllä | Jos = 0 → rivi ohitetaan |
| 2 | Palkkalaji | Kyllä | Virhe jos ei löydy |
| 3 | Lukumäärä (Lkm) | Kyllä | Muunnetaan numeroksi; 0 → ohitettu |
| 4 | Rivinumero | Ei | Jos ≠ 0, käytetään Plt:Rivi–avaimena |
| 5 | Á-hinta | Kyllä | Yksikköhinta; 0 → hinnoitellaan uudelleen |
| 6 | Kerroin | Ei | Jos = 0, haetaan palkkalajilta |
| 7 | Kustannuspaikka | Ei | Tyhjä → haetaan henkilökortistosta |
| 8 | Projekti | Ei | Tyhjä → haetaan henkilökortistosta |
| 9 | Selite | Ei | Vapaa teksti |
| 10 | Kirjanpidon tili | Ei | Tyhjä → haetaan palkkalajilta |
| 11 | Tulostetaan (flag) | Ei | Ei vaikuta tuontiin |
| 12 | Yritysnumero | Ei | Ohitetaan |
Esimerkki: 12345;P001; 10;0; 5.00;1;C001;PROJ1;Työaika;;1;999
Tulos: <N luettu>, <M ohitettu> | <V virhettä>
-
N = onnistuneet rivit
-
M = ohitetut (nollamäärät)
-
V = virhearvorivit
Integral
-
Muoto: tekstipohjainen CSV tai TSV (eri sarakkeet erotinmerkillä).
-
Erottimet:Valittu erotin , oletuksena tab (
<009>) tai puolipiste. -
Koodaus: ANSI tai UTF-8 ilman BOMia.
-
Header: ensimmäisellä rivillä sarakeotsikot (max 20), esim.
Tietuekuvaus:
| Otsikko | Kenttä | Kenttätieto |
| PVM | – | (päivämäärä, luku kommenttirivillä) |
| LAJI | 2 | Laji |
| LKM | 3 | Määrä |
| EUR | 6 | á-Hinta |
| OSASTO | 5 | Kustannuspaikka |
| KUSTANNUSPAIKKA | 6 | PLT:KP = SarData[i] |
| PROJ | 7 | Projekti |
| TYÖVAIHE | 8 | Työaihe |
| TEKSTI | 9 | Selite |
| KPTILI | 10 | Kirjanpidon tili |
| muut otsikot | – | ohitetaan tai ei käsitellä |
Sarakkeiden paikat ovat joustavia otsikkorivin perusteella. Tarvittaessa voi olla useampia tai vähemmän sarakkeita (max 20).
-
Rivinumero (
PLT:Rivi): josPLJ:Oletusrivi≠0käytetään sitä, muutenSeurRivi(MAK:ID). -
Hinnoittelu:
-
Jos
PLT:Ahinta=0, kutsutaan oletushinnoitteli -
Muillekin hinnoille haetaan
KerroinjaTilinro. -
Nollakerroin korvataan arvolla 1.
-
-
KP/Proj‐oletukset:
-
Jos
KP‐muuttuja ei tyhjä: käytetään -
Jos palkkalajilla on pakotettu kustannuspaikka: läytetään se
-
Vastaavasti projekti:
Projekti = Projtai oletus henkilön projekti
-
-
Muut asetukset:
-
Lahde = 'Integral', -
Tuontipvm = Tänään, -
Kerta = 1, -
Kausi = TuontiKausi.
-
-
Yhdistäminen (aggregation):
-
Etsitään olemassa oleva rivi samalla
Laji,KP,Proj,AHintajaTuontipvm. -
Jos löytyy ja molemmilla
Alkoi=Paattyi=0, kasvatetaanPLT:Lkm; muuten lisätään uusi rivi.
-
-
Ohita nollarivit:
Jos valittu ohiteteaan nollarivit niin rivi jätetään tallentamatta. -
Virhetilanteet:
-
Puuttuva henkilö → rivi ohitetaan.
-
Virhe tallennuksessa → virhelaskuri kasvaa; lokiviesti konsoliin.
-
Ohitetut rivit lasketaan
-
Jotbar
-
Muoto: tekstipohjainen, Windows-rivinvaihdot (CRLF)
-
Erottimet: sama kuin muuttujassa
L:Erotin(tavallisesti tab<009>tai puolipiste) -
Koodaus: ANSI tai UTF-8 ilman BOM:ia
-
Rivejä: ilman otsikkoriviä – jokainen rivi on tapahtumatieto
| 1 | Henkilönumero | Kyllä | Jos = 0 → rivi ohitetaan |
| 2 | Palkkalaji | Kyllä | Virhe, jos ei löydy |
| 3 | Lukumäärä (Lkm) | Kyllä | Muunnetaan numeroksi; 0 → ohitetaan |
| 4 | (tyhjä) | – | Ei käytetä |
| 5 | Päivämäärä | Kyllä | Muodossa DD.MM.YY; varmistaa kausirajaukset |
Lisäasetus “Lomat päiviksi”
Jos järjestelmäparametri Jotbar:LomatPaiviksi = 1 ja palkkalaji vastaa lomapalkkalajia (Jotbar:Lomapalkkalaji), määrä jaetaan jaksopäivillä (Jotbar:Lomapaivajakaja) → Lkm = Lkm / jakaja.
Kun kaikki rivit on käsitelty,
N luettu, M ohitettu | V virhettä
-
N = tuodut rivit
-
M = ohitetut nollarivit
-
V = virheet (henkilö tai palkkalaji)
Kellokortti
-
Muoto: tekstipohjainen CSV/TSV, Windows-rivinvaihdot (CRLF)
-
Erottimet: sama kuin muuttujassa esim. tab
<009>tai puolipiste -
Otsikkorivi: ensimmäisellä rivillä sarakeotsikot (max 50), joista rutiini tunnistaa sarakkeiden sijainnit
ALKUPVM, LOPPUPVM, HENKILO, RYHMA, HENKILONRO_PALKKA,
NIMI, PALKKALAJI_ID tai PALKKALAJI, TUNNIT, PAIVAT,
KAPPALEET, YKSIKKO, KOHDE1, KOHDE1_NIMI, … , KOHDE5_NIMI, AHINTA
| Tieto | Lähdesarake | Muunnos |
| Henkilönumero | SarData[k:henkilo] tai jos tyhjä SarData[k:henkilonro] | numeroksi |
| Palkkalaji | SarData[k:plaji] | – |
| Määrä (tunnit) | luvuksi(TUNNIT) + luvuksi(PAIVAT) + luvuksi(KAPPALEET) | kokonaistuntimäärä |
| Á-hinta | luvuksi(AHINTA) | – |
| Kustannuspaikka | SarData[k:kp] tai oletus PHL:KP/PLJ:S6 | – |
| Projekti | SarData[k:proj] tai oletus PHL:Proj | – |
| TV (työvaihe) | SarData[k:tv] | – |
| DIM4 / DIM5 | SarData[k:dim4] / SarData[k:dim5] | – |
| Selite | SarData[k:selite] |
-
Nollarivit: jos
lukumäärä on nolla, rivi ohitetaan ja lasketaan "ohitettu rivi" -
Rivinumero käytetään palkkalajilta oleturivi tai haetaan seuraava rivi
-
Hinnoittelu:
-
Jos ahinta on nolla, kutsutaan hinnoittelu
-
Jos kerroin on niklla asetetaan arvoksi 1
-
-
Alku–loppupäivä (
Alkoi/Paattyi):-
Jos sarakkeen
ALKUPVMarvo on kauden ulkopuolella, merkitään rivi jakso‐rajauksen mukaan.
-
Tuonnin päätteeksi näytetään yhteenvedon
<N luettu>, <M ohitettu> | <V virhettä>
-
N = onnistuneet rivit
-
M = nollarivit
-
V = virheet
Kiho
-
Muoto: tekstitiedosto, Windows‐rivinvaihdot (CRLF)
-
Koodaus: ANSI tai UTF-8 ilman BOM
-
Erotin: tabulaattori (
<009>) tai muu määritelty merkki esim puolipiste ; -
Header: ensimmäisellä rivillä sarakeotsikot, joiden perusteella kentät kartoitetaan
-
Parametrit:
-
Kiho‐versio (
L:KihoVersio, 1 tai 2) -
Ohita nollarivit (
L:OhitaNollat, 0 = tuo nollat, 1 = ohita nollarit)
-
Tunnistettavat sarakeotsikot:
-
PVM
-
TYNRO
-
PLNRO
-
TVR
-
KPL
-
KPL/MISTÄ
-
AIKA
-
AIKA/MIHIN
-
MK/EUR
-
OSASTO
-
PROJ
-
PROJEKTI
-
KPTILI
-
PRLAJI
-
KLAJI
-
RYHMÄ3
-
R3LAJI
-
RYHMÄ4
-
R4LAJI
-
SELITE
Tuonti on kumuloiva eli samalla lajilla ja dimensioilla yhdistetään tuonnin yhteydessä
Lopputulos
<N> luettu, <M> ohitettu | <V> virhettä
-
N = tuodut rivit
-
M = ohitetut nollarivit
-
V = virheet (henkilö, palkkalaji ym.)
Logiplan
-
Muoto: tekstipohjainen CSV/TSV, Windows‐rivinvaihdot (CRLF)
-
Erottimet: Valittu kenttäerotin (esim. tab
<009>tai puolipiste) -
Otsikkoriviä: ei – jokainen rivi on datatapahtuma
| Indeksi | Kenttä | Käyttö |
| 1 | (ei käytössä) | – |
| 2 | Päivämäärä | Ohitetaan (vain lokiin) |
| 3 | Henkilönumero | Pakollinen; jos = 0 → ohitetaan |
| 4 | Palkkalaji | Pakollinen; virhe jos ei löydy |
| 5 | Lukumäärä (Lkm) | Pakollinen; 0 → ohitetaan |
| 6–8 | (ei käytössä) | – |
| 9 | Kustannuspaikka | Valinnainen; tyhjä → henkilötiedoista |
| 10 | Päivämäärä | Ohitetaan (vain lokiin) |
Esimerkki:
;2025-04-30;12345;P001;8;;; ;C001;2025-04-30
Lopputulos:
<N> luettu, <M> ohitettu | <V> virhettä
-
N = tuodut rivit
-
M = ohitetut (nollarivit tai rivit ilman henkilöä)
-
V = virherivit
Maraplan
-
Muoto: tekstipohjainen, Windows-rivinvaihdot (CRLF)
-
Koodaus: ANSI tai UTF-8 (ilman BOM)
-
Erottimet: Syötetty erotin(jos tyhjä, oletuksena tab
<009>) -
Otsikkoriviä: ei—jokainen rivi on datatapahtuma
| Sarake | Sisältö | Käyttö |
| 1 | Henkilönumero | Pakollinen; jos = 0 → rivi ohitetaan |
| 2 | Palkkalaji | Pakollinen; virhe, jos ei löydy palkkalajia |
| 3 | Lukumäärä (Lkm) | Pakollinen; luvuksi→numero; jos = 0 → ohitetaan |
| 4 | Á-hinta | Yksikköhinta; jos = 0 → kutsutaan Do Hinnoittele |
| 5 | Kustannuspaikka | Valinnainen; tyhjä → oletus henkilötiedoista (PHL:KP) tai palkkalajilta |
| 6 | Kirjanpidon tili | Ei siirry Maraplanista / ei käytetä |
Esimerkki: 12345<TAB>P001<TAB>8<TAB>15.50<TAB>C001<TAB>
Tuonnin edistyessä ohitetaan rivit:
-
“Rivi ilman henkilöä”
-
“Henkilöä ei löydy”
-
“Palkkalaji … ei löydy”
-
“Rivin … lukumäärä nolla – ohitetaan”
-
“Luetaan: …” – rivi kerrallaan
Lopputulos: <N> luettu, <M> ohitettu | <V> virhettä
-
N = onnistuneesti tuodut rivit
-
M = ohitetut nollarivit tai rivit ilman henkilöä
-
V = virheet (palkkalaji tai tallennusvirheet)
Maraplan2:
-
Muoto: tekstitiedosto, Windows-rivinvaihdot (
CRLF) -
Koodaus: ANSI tai UTF-8 ilman BOM
-
Rivejä: jokainen rivi on datatapahtuma, ei otsikkoriviä
| Positiot | Pituus | Sisältö | Muunto |
| 7–13 | 7 | Henkilönumero | kokonaisluku |
| 31–34 | 4 | Palkkalaji | koodi (merkkijono) |
| 37–43 | 7 | Lukumäärä (sadasosina) | jaetaan sadalla → Plt:Lkm |
| 48–52 | 5 | Kustannuspaikka | koodi |
Esimerkki: 0000123......P001.....0000123..C001...
Tuonnin logiikka:
-
Henkilö (luetaan merkkijonosta .
-
Palkkalaji haetaan korvaustaulukosta; virhe, jos ei löydy.
-
Lukumäärä →
Plt:Lkm; jos = 0 ja lippuL:OhitaMaraNollat=1, rivi ohitetaan. -
Maksu:
-
Kutsutaan
Do TeeMaksu, skipataan jos maksu on lukittu, verolaskettu tai päätetty. -
Hinta lasketaan
Do Hinnoittele.
-
-
Kerroin: luetaan aiemmasta tietueesta
PLJKerroin. -
Kustannuspaikka:
-
Poistetaan mahdolliset etunollat (jos
L:OhitaMaraNollat=1). -
Muuten suoraan
Sub(Ulk:Rivi,48,5).
-
-
Tallennus:
-
Asetetaan
PLT:Lahde='MARAPLAN',Tuontipvm=Today(),Maksu=MAK:ID,Plt:ID=LuoUID(). -
add(prtap)tallentaa rivin, virheistä raportointi lokiin.
-
Lopputulos: <N> luettu, <M> ohitettu | <V> virhettä
-
N = onnistuneet rivit
-
M = ohitetut (nollarivit)
-
V = virheet
Navision
-
Muoto: tekstipohjainen CSV/TSV, Windows-rivinvaihdot (CRLF)
-
Erottimet: sama merkki kuin muuttujassa (esim. tab
<009>tai puolipiste) -
Otsikkoriviä: ei – jokainen rivi on datatapahtuma
| Indeksi | Sisältö | Pakollinen? | Huomio |
| 1 | Henkilönumero | Kyllä | Jos = 0 → rivi ohitetaan |
| 2 | Palkkalaji | Kyllä | Virhe, jos palkkalajia ei löydy |
| 3 | Lukumäärä (Lkm) | Kyllä | Muunnetaan numeroksi; 0 → ohitetaan |
| 4–6 | (tyhjiä sarakkeita) | – | Ei käytetä |
| 7 | Projekti | Valinnainen | Asetetaan suoraan Plt:Proj-kenttään |
Esimerkki: 12345;P001; 8;;;PROJ1
Rivi ohitetaan jos:
-
“Rivi ilman henkilöä”
-
“Henkilöä ei löydy”
-
“Palkkalaji … ei löydy”
-
“Rivi lukumäärä nolla – ohitetaan”
-
“Luetaan: …” – kunkin rivin käsittely
Tulos: <N> luettu, <M> ohitettu | <V> virhettä
-
N = onnistuneet tuontirivit
-
M = ohitetut nollarivit tai rivit ilman henkilöä
-
V = virhearvorivit
Nepton
-
Muoto: tekstipohjainen CSV/TSV, Windows-rivinvaihdot (CRLF)
-
Koodaus: ANSI tai UTF-8 (ilman BOM)
-
Erottimet: Clarion-parametrissa
L:Erotin(esim. tab<009>tai puolipiste) -
Otsikkoriviä: ei – kaikki rivit ovat datatapahtumia
| Indeksi | Sisältö | Käyttö / kenttä |
| 1 | Henkilönumero | Pakollinen; jos = 0 → ohitetaan |
| 2 | Palkkalaji | Pakollinen; virhe, jos ei löydy |
| 3 | Lukumäärä (Lkm) | luvuksi→numero; 0 → ohitetaan |
| 4 | Rivinumero | Jos ≠0, käytetään PLT:Rivi |
| 5 | Á-hinta | Jos =0 → Do Hinnoittele |
| 6 | Kerroin | Jos ≠0, asetetaan PLT:Kerroin |
| 7 | Kustannuspaikka | Dimensio 1 Kustannuspaikka (tyhjä → oletus) |
| 8 | Projekti tai dimensio-4 | PLT:Proj tai jos asetettu SijoitaProjDim4=1, mennään Dim4-kenttään |
| 9 | Selite | Selite |
| 10 | Kirjanpidon tili | KpTili |
| 11 | Tulostetaan-flag | Ei vaikuta tuontiin |
| 12 | Yritysnumero | Ei käsitellä |
-
Tuo päätetylle: parametrilla
L:TuoPaatetyllemääritetään, ohitetaanko verolaskennetut maksut. -
Dimensioasetukset:
-
SijoitaProjDim4=1→ sarake 8 (SarData[8]) sijoitetaan suoraanPLT:Dim4-kenttään -
Muuten sarake 8 käytetään
PLT:Proj-kenttään, oletuksenaPHL:Proj
-
Ohitetaan jos
-
“Rivi ilman henkilöä”
-
“Henkilöä ei löydy”
-
“Palkkalaji … ei löydy”
-
“Rivi lukumäärä nolla – ohitetaan”
-
“Maksu verolaskettu – ohitetaan” / “Maksu päätetty – ohitetaan”
-
“Luetaan: …” – per rivi
Lopputulos: <N> luettu, <M> ohitettu | <V> virhettä
-
N = tuodut rivit
-
M = ohitetut (nollarivit, verolaskennat tms.)
-
V = virheet (henkilö, palkkalaji ym.)
Versio 2:
-
Muoto: tekstipohjainen CSV/TSV, Windows-rivinvaihdot (CRLF)
-
Koodaus: ANSI tai UTF-8 ilman BOM
-
Erottimet: Clarion-parametri
L:Erotin(esim. tab<009>tai puolipiste) -
Otsikkorivi: ei – kaikki rivit ovat datatapahtumia
| Indeksi | Sisältö | Käyttö |
| 1 | Henkilönumero | Pakollinen; jos = 0 → rivi ohitetaan |
| 2 | Palkkalaji | Pakollinen; virhe, jos ei löydy |
| 3 | Lukumäärä (Lkm) | luvuksi→numero; 0 → ohitetaan |
| 4 | Alkupäivämäärä | Deformat(...,@D6.)→PLT:Alkoi |
| 5 | Loppupäivämäärä | Deformat(...,@D6.)→PLT:Paattyi |
| 6–7 | (ei käytetä) | – |
| 8 | Projekti | Sijoitetaan PLT:Dim4 (jos SijoitaProjDim4=1) |
| 9–12 | (ei käytetä) | – |
-
Tuo päätetylle Jos ei valiitu, verolaskennetut maksut ohitetaan.
-
Projektin sijoitus jos valittu "sijota dimensio 4" → sarake 8 viedään dimensioon 4
-
Muussa tapauksessa projekti jätetään tyhjäksi tai haetaan henkilön projekti
Lopputulos: <N> luettu, <M> ohitettu | <V> virhettä
-
N = tuodut rivit
-
M = ohitetut (nollarivit ym.)
-
V = virheet (henkilö, laji ym.)
Nepton poissaolot
Milloin poissaolot tuodaan
-
Poissaolot syntyvät automaattisesti, jos palkkalajille on määritelty poissaolotyyppi Nepton‐tuonnin yhteydessä.
-
Varsinaisen Nepton2‐tuonnin jälkeen kullekin riville, jossa lisätään poissaolot.
| Sarake | Sisältö | Käyttökohde |
| 1 | Henkilönumero | HloNro → henkilöhaku |
| 2 | Palkkalaji | Laji → poissaolotyyppihaun peruste |
| 3 | Lukumäärä | Lkm → laskentapäivien määrä |
| 4 | Alkupäivä (PP.KK.VV) | Ensimmäinen PVm |
| 5 | Loppupäivä (PP.KK.VV) | Viimeinen PVm |
1→201, 8→7, 111→230, 112→421, 113→409, 114→115, 115→116, 116→321
Poissaolot lisätään tulorekisteripoissaololuetteloon
Netvisor
-
Muoto: tekstipohjainen CSV/TSV, Windows-rivinvaihdot (CRLF)
-
Koodaus: ANSI tai UTF-8 (ilman BOM)
-
Erottimet: Syötetty erotin(jos tyhjä, oletuksena tab
<009>) -
Otsikkorivi: tiedoston ensimmäinen rivi, alkaa sanalla
Päiväys
-
Rutiini lukee maksimissaan 10 ensimmäistä riviä etsiäkseen headerin, jonka alkumerkit ovat
Päiväys. -
Jos headeria ei löydy 10 ensimmäisessä rivissä, tuonti keskeytyy ja käyttäjälle näytetään virheilmoitus.
| Otsikko (case-insensitive) | Kenttä |
| PÄIVÄYS | (päiväys) |
| PALKANSAAJA | Henkilönumero |
| KIRJAUSLAJI | Palkkalaji |
| SELITE | Vapaa selite |
| ASIAKAS / KUSTANNUSPAIKKA | Kustannuspaikka |
| PROJEKTI | Projekti |
| TYÖTUNNIT | Työtunnit (preferenssi) |
| TUNNIT | Tuntimäärä |
Lopputulos: N luettu, M ohitettu | V virhettä
-
N = tuodut rivit
-
M = ohitetut (tyhjät tai 0-lukumäärät)
-
V = virheet
Ontime poissaolot
Muoto: tekstipohjainen CSV/TSV, Windows-rivinvaihdot (CRLF)
-
Koodaus: ANSI tai UTF-8 ilman BOM
-
Erottimet: Syötetty tieto(esim. tab
<009>tai puolipiste)
Poissaolo
| Otsikko | Kenttä |
| HLONRO | Henkilönumero |
| KAUSI | Kausi |
| KOODI | Poissaolokoodi |
| ALKUPVM | Alkupäivämäärä |
| LOPPUPVM | Loppupäivämäärä |
| JATKUU | Jatkuu asti‐lippu |
| PALKALLINEN | Onko palkallinen |
| HLKM | Tunnit |
| PVLKM | Päivien lkm |
| SUMMA | Summa (EUR) |
| MAKSUTYYPPI | Maksutyyppi |
| VIITE | Viitenumero |
| TARKENNE | Tarkenne |
Loma
Lisäksi sarake
| LOMAVUOSI | Loma‐vuosi |
Lopputulos: <N> luettu, <M> ohitettu | <V> virhettä
-
N = onnistuneet tuontirivit
-
M = ohitetut rivit (tyhjät, virheelliset henkilöt, yms.)
-
V = virhearvot (lajit, tallennusvirheet)
Ontime
Ohjautuu vakiotekstituontiin
Poissaolot teksti
Sarakeasettelu
Ilman otsikkoa (kiinteä järjestys)
-
HLONRO – Henkilönumero
-
KAUSI – Palkkakausi
-
KOODI – Poissaolokoodi
-
ALKUPVM – Poissaolon alkupäivä (ppkkvv)
-
LOPPUPVM – Poissaolon loppupäivä (ppkkvv)
-
JATKUU – Jatkuu asti (ppkkvv)
-
PALKALLINEN – 0 = palkaton, 1 = palkallinen
-
PVLKM – Päivien lukumäärä
-
SUMMA – Rahallinen summa (tuhatta erotin)
-
MAKSUTYYPPI – Maksutyyppi (1=kerta, 2=päivä tms.)
-
VIITE – Viitenumero
-
TARKENNE – Vapaa tekstiselite
Etsi otsikkorivi: jos RIVI sisältää sanaa NUMERO, HENKILÖ tai PALKANSAAJA, luetaan otsikko. Jos näitä ei löydy, lopetetaan tuonti
Tuodut tiedot tallennetaan suoraan poissaolorekisteriin
Tulos: "Tuotu: N, ohitettu: M, virheitä: V poissoloa"
-
N = onnistuneet tuonnit
-
M = ohitetut rivit (puuttuvat henkilöt, tms.)
-
V = virheet (tallennus, koodit)
Powered
Tämä rutiini lukee määrämittaisena tiedoston, jossa kullakin rivillä on pakollisena neljä kenttää (plus myöhemmin jopa 12 ulottuvuutta). Se lisää jokaiselle riville yhden palkkarivin palkanlaskentajärjestelmään.
| Sarake-alue | Sisältö |
|---|---|
| 17 – 22 | Henkilönumero (6 merkkiä, esim. "000123") |
| 23 – 25 | Yritys-/toimipaikkakoodi (3 merkkiä) |
| 37 – 41 | Palkkalajin koodi (5 merkkiä, esim. "P1001") |
| 42 – 52 | Lukumäärä sadasosina (11 merkkiä, jaettuna sadasosalla; esimerkki "00000012345" → 123,45) |
Myöhemmin tiedostoon voidaan lisätä vielä enintään 12 dimensio-aluetta.
-
Varmista tiedoston muoto
-
Kukin rivi on kiinteäpituinen, vähintään 52 merkkiä pitkä.
-
Käytä täsmälleen oikeita sarakealoituksia (17, 23, 37, 42).
-
-
Tarkista henkilö- ja palkkalajitaulut
-
Henkilönumero (17–22) löytyy järjestelmästä.
-
Palkkalajikoodi (37–41) on konfiguroitu ja sillä on oletusrivi.
-
Rivin jäsentäminen:
-
Hakee henkilönumeron osion 17 .. 22
-
Selvittää yrityskoodin osion 23 .. 25 (käytetään henkilön haussa, ei varsinaisena kenttänä palkkarivillä)
-
Määrittää palkkalajin osion 37 .. 41
-
Laskee määrän osion 42 .. 52 arvosta
/ 100
Tulos: NN luettu, MM ohitettu | VV virhettä.
-
NN = onnistuneiden rivien määrä
-
MM = automaattisesti ohitettujen (nollarivien) määrä
-
VV = virheitä, esim. tuntemattomia palkkalajeja tai puuttuvia henkilöitä
QyinYx
Tämä rutiini tuo Quinyx-järjestelmän tuottamat tunti- ja poissaolorivit palkanlaskennan tietokantaan. Se tunnistaa automaattisesti kahdenlaiset tiedostoformaatit ja käsittelee sarakkeet dynaamisesti otsikkorivin perusteella.
Tiedoston muoto ja otsikot
Rutiini odottaa tekstimuotoista CSV-/SSV-tiedostoa, jossa:
-
Ensimmäinen rivi voi olla joko dataa tai otsikkorivi.
-
Muoto 1 (tuntirivit) tunnistetaan, jos 6. sarakkeen lukuarvo ≠ 0.
-
Muoto 2 (poissaolorivit) tunnistetaan, jos 7. sarakkeen päivämäärä on kelvollinen.
Otsikkorivin kentät konfiguroidaan ensimmäisellä datarivillä näin:
| Sarake | Otsikko | Käyttötarkoitus |
| 1 | RYHMÄ | Ryhmätunnus (ei käytössä) |
| 2 | NRO | Henkilönumero |
| 3–4 | (tyhjiä) | — |
| 5 | LAJI | Palkkalajikoodi |
| 6 | LKM | Määrä (tunnit) |
| 7 | ALKUPVM | Alkupäivämäärä |
| 8 | LOPPUPVM | Loppupäivämäärä |
| 9 | KP | Kustannuspaikka |
| 10 | PROJEKTI | Projekti |
Otsikkorivin ja muodon tunnistus
-
Luetaan ensimmäinen data‐/otsikkorivi
-
Jos lukumäärä on erisuuri kuin nolla rivi on muotoa 1:
-
Muuten jos sarek 6 on muoto apäivämäärärivi on muotoa 2 (poissaolot):
-
Jos muotoa ei tunnisteta, keskytyy tuonti.
Tuonti on kumuloiva eli rivit yhdistetään kun laji ja dimensiot ovat samoja
Tulos: <KplTot> luettu, <LkmSkipped> ohitettu. | <VirheLkm> virhettä.
-
KplTot = tuotujen (lisättyjen) rivien määrä
-
LkmSkipped = automaattisesti ohitettujen nollarivien määrä
-
VirheLkm = virherivien määrä (esim. tuntemattomia koodeja)
Taxifacta
-
Luetaan XML‐tiedosto rivikohtaisesti.
-
Etsitään juurielementti
<palkkatapahtumat>. -
Jokainen
<palkkapussi>sisältää yhden henkilön numeron (<hnro>) ja sarjan<rivi>‐elementtejä. -
<rivi>‐elementissä on kentät:-
työpäivän päivämäärä (
<tappvm>), -
työnumero (
<tyonro>), -
tilinro (
<litnro>), -
palkkalaji (
<plaji>), -
määrä (
<maara>), -
á‐hinta (
<ahinta>), -
selite (
<selite>), -
muistio (
<muistio>).
-
XML-rakenne
<palkkatapahtumat>
<palkkapussi>
<hnro>116</hnro>
<palkkarivit>
<rivi>
<tappvm format="DDMMYYYY">31102017</tappvm>
<tyonro>700</tyonro>
<litnro>1000</litnro>
<plaji>1</plaji>
<maara>98</maara>
<ahinta>10,46</ahinta>
<selite/>
<muistio/>
</rivi>
<!-- toistuvia <rivi>…</rivi> -->
</palkkarivit>
</palkkapussi>
<!-- toistuvia <palkkapussi>…</palkkapussi> -->
</palkkatapahtumat>
| XML‐tag | Selite | Objektin kenttä | Muunnos |
|---|---|---|---|
<hnro> |
Henkilönumero | PLT:Nro |
suora teksti |
<tappvm> |
Pvm (DDMMYYYY) |
PLT:Tuontipvm* |
deformat @D10- |
<tyonro> |
Työnumero | PLT:TV |
suora teksti |
<litnro> |
Kirjanpitotili | PLT:KPTili |
suora teksti |
<plaji> |
Palkkalajikoodi | PLT:Laji |
suora teksti → Do LajKorvTaulu
|
<maara> |
Määrä | PLT:Lkm |
luvuksi() |
<ahinta> |
Á‐hinta | PLT:Ahinta |
luvuksi() |
<selite> |
Selite | PLT:Selite |
suora teksti |
<muistio> |
Muistio | ei käytössä | (ohitetaan) |
Tulos:
-
Rivit luettu: KplTot
-
Ohitetut nollarivit: LkmSkipped
-
Virherivit: VirheLkm
Tiima
Alla on Tiima‐tuonnin rakenne ja kenttävastineet taulukoina sekä tuontiprosessin päävaiheet
| Sarake (kirjain & indeksi) |
Sisältö | Palkanlaskenta-kenttä | Muunnos / Huomio |
| A (1) | Henkilönumero | PLT:Nro | kokonaisluku |
| F (6) | Syykoodi (palkkalaji) | PLT:Laji | LajiKorvausTaulu |
| H (8) | Kustannuspaikka | PLT:KP | suora teksti |
| J (10) | Projekti ID | L:Projekti → PLT:Proj via Do Projekti | |
| K (11) | Projektin nimi | ei siirry | tallennetaan ProjektiNimi |
| L (12) | Määrä | PLT:Lkm | Muunnetaan luvuksi |
| M (13) | TV‐tunnus | PLT:TV | suora teksti |
-
Nollarivien ohitus: Jos Ohita nollarivit asetettu
-
Projektin luonti: tarkistaa ja tarvittaessa lisää uuden projektin K‐sarakeotsikon perusteella.
-
Kustannuspaikka: asettaa kustannuspaikan ja kirjoittaa logiin.
Timeworks
Tiedostomuoto
CSV- tai TSV-tiedosto, jossa rivit eroteltu rivinvaihdolla ja sarakkeet välilyönneillä tai välimerkillä.
-
UTF-8-koodattu tekstitiedosto (.csv/.txt).
-
Varmista, ettei tiedostossa ole tyhjiä päärivejä ennen sarakkeita.
| Sarake-indeksi | Sisältö | Muunnos / huomio | |
| 1 | Henkilönumero | Tarvittaessa Henkilökorvausataulun kautta | |
| 6 | Määrä (Lkm) | Muunnetaan luvuksi | |
| 7 | Palkkalaji | LajiKorvausTaulu | |
| 8 | Työnumero | Asiakaskohtainen työvaihe | |
| 9 | Alue | Alue → kustannuspaikka | |
| 10 | Asiakasnumero | Ei siirry (voidaan tallentaa tarvittaessa) | |
| 11 | Projekti | Projekti | |
| 12 | Varaaja | Ei siirry (voidaan tallentaa selitteeseen) | |
| 13 | Lisätieto | Ei siirry | |
-
Henkilöiden tunnistus
Ohjelma vertaa sarakkeen 1 arvoa rekisterissä olevaan henkilötunnukseen.-
Käyttää tarvittaessa henkilökorvaustaulukkoa
-
-
Rivien yhdistäminen
Samat henkilö, palkkalaji, kustannuspaikka ja projekti samana tuontipäivänä yhdistetään yhdeksi riviksi. -
Nollarivit
Jos tuntien × hinta = 0, rivi jätetään tuonnin asetusten mukaan joko ohitettavaksi tai lisättäväksi. -
Lisäkentät
Työnumero, projekti, alue ja lisätieto siirtyvät palkkariville ja näkyvät raportoinnissa.
Transplan
Tuotava tiedosto on ASCII-tekstitiedosto, jossa kukin rivi on kiinteän levyinen (fixed-width). Alla olevassa taulukossa kerrotaan tarkat merkkipositiomääritykset:
| Merkkipositio | Pituus | Kenttä | Kuvaus |
| 1…6 | 6 | Henkilönumero | Työntekijän HR-ID (ilman etunollia). Jos arvo 0, rivi ohitetaan. |
| 7…12 | 6 | Palkkalaji | Numerokoodi (esim. “100”, “407Y” tms.). |
| 14…26 | 13 | Määrä (Lkm) | Työmäärä desimaalina. Erotin on piste “.”. |
| 49…53 | 5 | Kerroin | Lisäprosentti * 10 000 (esim. 12500 = 1,25). |
| 52…61 | 10 | Projekti | Projektikoodi. |
| 64…69 | 6 | Kustannuspaikka | KP-koodi. |
| 70…99 | 30 | Selite | Vapaa tekstiselite. |
| 100…104 | 5 | KpTili | Kirjanpidon tilinumero (jos tyhjä, käytetään palkkalajin oletustiliä). |
| 105 | 1 | Tulostus | Tulostus-flag (0/1). |
| 106…107 | 2 | TransPvm (pv) | Tuontipäivän päivä (DD). |
| 108…109 | 2 | TransPvm (kk) | Tuontipäivän kuukausi (MM). |
| 110…113 | 4 | TransPvm (vvvv) | Tuontipäivän vuosi (YYYY). |
| 114 | 1 | Yli50km | “1” jos > 50 km, muuten “0” (käytetään vuorolisälaskennassa). |
| 115 | 1 | Vuorolisa | “1” jos vuorotyölisä, muuten “0”. |
| 117…118 | 2 | TaukoPaikka1 | Taukopaikan koodi 1. |
| 120…121 | 2 | TaukoPaikka2 | Taukopaikan koodi 2. |
| 124…125 | 2 | TaukoPaikka3 | Taukopaikan koodi 3. |
Merkit 13, 27–48, 54–63, 66–69, 100–104 jne. ohitetaan tai niitä ei käsitellä
Lopuksi näet viestin:
X riviä luettu, Y ohitettu, Z virhettä
Tuntikirjuri
-
Rivit ovat kiinteän levyisiä (väh. 58 merkkiä).
-
Merkkikoodaus on ASCII tai UTF-8 (ilman BOMia).
| Merkkipositio | Pituus | Kenttä | Kuvaus |
| 1 – 3 | 3 | (ei käyt.) | Välilyönnit tai täyte, ohitetaan |
| 4 – 14 | 11 | Hetu | Henkilötunnus (muodossa 123456-789A) |
| 15 – 19 | 5 | Laji | Palkkalajin koodi |
| 20 – 29 | 10 | Lkm | Tuntimäärä desimaalina (piste erotinena) |
| 30 – 41 | 12 | (ei käyt.) | Varaa |
| 42 – 47 | 6 | Alkupvm | Työn alkupäivä muodossa DDMMYY |
| 48 – 53 | 6 | LoppuPvm | Työn loppupäivä muodossa DDMMYY |
| 54 – 58 | 5 | (ei käyt.) | Varaa |
Tulos: X riviä luettu, Y ohitettu, Z virhettä.
Tuntinetti
-
Muoto: Tekstitiedosto, kentät eroteltu tabilla (ASCII 9).
-
Otsikkorivi: Vapaa, voidaan olla tai ei. Jos ensimmäisellä rivillä esiintyy sana
PALKKALAJI(tai vastaava), rivi tunnistetaan otsikoksi ja ohitetaan datana.
| Sisäinen kenttä | Header-variantit | Kuvaus |
| HLONRO | PALKANSAAJA, HENKILÖ, HLO, PERSON, PERSONNUMMER | Henkilönumero |
| PALKKALAJI | PALKKALAJI, LAJI, LÖNESLAG | Palkkalaji |
| LKM | LKM, MÄÄRÄ, ANTAL, ST | Tuntimäärä |
| RIVINUMERO | RIVI, RIVINUMERO, RAD, RADNUMMER, RADNR | Rivilaji |
| AHINTA | AHINTA, A-HINTA, EUR, SUMMA, APRIS | A-hinta (€/tunti) |
| KERROIN | KERROIN, PROSENTTI, KOEFFICIENT | Kerroin |
| PROJEKTI | PROJEKTI, PROJ, TYÖNUMERO, ARBETSNR | Projekti (koodi) |
| KP | KP, KUSTANNUSPAIKKA, KOSTNADSSTÄLLE | Kustannuspaikka (koodi) |
| SELITE | SELITE, TEKSTI, INFO, FÖRKLARING | Vapaa tekstiselite |
| TILI | TILI, KIRJANPIDON TILI, KONTO | Kirjanpidon tili |
| TULOSTETAAN | TULOSTETAAN, SKRIVS UT, PRINTAS | Merkkijono: tulostetaanko (esim. Kyllä) |
| TYOVAIHE | TYÖVAIHE, ARBETSSKEDE | Työvaihe (koodi) |
| TUOTE | TUOTE, PRODUKT | Tuotekoodi |
| VALMLKM | VALMLKM, VALM. LKM, TILLVERKADE | Valmistuneiden kappaleiden lkm |
| SUSIKPL | SUSIKPL, UNDERKÄNDA | Hylättyjen kappaleiden lkm |
| TYYPPI | TYYPPI, TYP | Tapahtumantyyppi |
| YHTEENSA | YHTEENSÄ, YHT, TOTALT, SAMMANLAGT | Summa (€) |
| TUNNIT | TUNNIT, TIMMAR | Tuntitapahtuma (erillinen) |
| KERTA | KERTA, EN GÅNG | Kertatapahtuma (on aina 1) |
| OK | OK | OK-merkintä |
| AUTO | AUTO | Automaattimerkintä |
| EI HUOMIOIDA | EI HUOMIOIDA, BEAKTAS EJ | Ohitusmerkintä |
| KÄYTTÄJÄ | KÄYTTÄJÄ, ANVÄNDARE | Käyttäjätunnus |
| LÄHDE | LÄHDE, KÄLLA | Tuonnin lähde (esim. TUNTINETTI) |
| HYV | HYV, HYVÄKSYTTY, GODKÄND | Hyväksytty-merkintä |
| TUONTIPVM | TUONTIPVM, IMPORTDATUM | Tuontipäivämäärä (ppkkvvvv tai tyhjä → = tänään) |
| KAUSI | KAUSI, PERIOD | Palkanlaskentakausi (esim. 2025/04) |
| LUKITTU | LUKITTU, LÅST | Lukittustunniste (0/1) |
| ESITÄYTTÖTEKSTI | ESITÄYTTÖTEKSTI, KALKYLTEXT | Vapaa esitäyttöteksti |
| LOMALASK | LOMALASK, LOMALASKENTA, SEMESTERKALKYL | Lomapalkkalaskenta (0/1) |
| DIMENSIO4 | DIMENSIO4, DIMENSION 4 | Dimensio 4 |
| DIMENSIO5 | DIMENSIO5, DIMENSION 5 | Dimensio 5 |
| UNIIKKIID | UNIIKKIID, ID, TUNNISTE | Uniikki tunniste |
Työaikavelho
-
Muoto: Plain-text, fixed-width (ei erotinta).
-
Ensimmäinen rivi: Dataa (ei otsikkoa).
-
Merkistökoodaus: UTF-8 ilman BOM.
| Sarake | Sisältö | Sijainti (1=vas.) | Pituus | Kommentti |
| A | Henkilönumero | 1 | 5 merkkiä | Esim. 00123 |
| B | Palkkalaji | 6 | 19 merkkiä | Väntää oikeaan reunaan |
| C | Tuntimäärä | 20 | 13 merkkiä | Numero (desimaali), esim. 00000012,50 |
| D | Rivinumero | 33 | 5 merkkiä | Kokonaisluku, esim. 00010 |
| E | Á-hinta | 38 | 8 merkkiä | Numero, esim. 00015,30 |
| F | Kerroin | 46 | 5 merkkiä | Desimaali, esim. 001.00 |
| G | Kustannuspaikka | 51 | 6 merkkiä | Väntää oikeaan reunaan |
| H | Projekti | 57 | 6 merkkiä | |
| I | Selite | 63 | 10 merkkiä | Vapaa teksti |
| J | Kirjanpidon tili | 73 | 5 merkkiä | |
| K | Tulostetaan | 78 | 1 merkki | K tai E |
| L | Yritysnumero | 79 | 3 merkkiä | Ei käsitellä |
-
Ohitustilanteita (rivi ei lisäänny)
-
Henkilöä ei löydy (A-kentän virhe).
-
Palkkalaji ei löydy (B-kenttä).
-
Tuntimäärä = 0 (C-kenttä).
-
Maksu lukittu / verolaskenta / päätetty (maksun tila).
-
-
Virheilmoitus kuvaa ongelman tarkasti:
-
Rivi ilman henkilöä
-
Palkkalaji
XYZei löydy -
Ongelma tallennettaessa riviä maksulle: …
-
Työvuorovelho (kiinteämittainen)
-
Muoto: Plain-text, fixed-width (ei erottimia).
-
Koodaus: UTF-8 ilman BOM.
-
Rivimäärä: Jokainen rivi on dataa (ei otsikkoriviä).
-
Rivipituus: Vähintään 135 merkkiä.
| Sarake | Kuvaus | Aloitus | Pituus | Formaatti / Huom. |
| 1–5 | Henkilönumero | 1 | 5 | Kokonaisluku, esim. 00123 |
| 16–19 | Palkkalaji | 16 | 4 | Koodiarvo, esim. 1000 |
| 25–33 | Tuntimäärä (Lkm) | 25 | 9 | Desimaaliluku, esim. 0000012,5 |
| 34–47 | Á-hinta | 34 | 14 | Desimaaliluku, esim. 00000015,30 |
| 116–125 | Alkupäivämäärä | 116 | 10 | |
| 126–135 | Loppupäivämäärä | 126 | 10 |
Tulos:
-
Luetut rivit (X) – onnistuneet lisäykset tai päivitykset
-
Ohitetut rivit (Y) – esim.
-
Henkilöä ei löydy (sarake 1–5)
-
Tuntimäärä = 0 (sarake 25–33)
-
-
Virherivit (Z) – esim.
-
Palkkalaji puuttuu tai väärä (sarake 16–19)
-
Maksu lukittu / verolaskettu / päätetty
-
Työvuorovelho Sarake
-
Erotin: puolipiste (
;) -
Rivien rakenne: 9 kenttää (8 puolipistettä per rivi), viimeinen kenttä voi olla tyhjä
-
Merkistö: UTF-8 tai vastaava
-
Tiedostopääte:
.csvtai.txt
| Sarake # | Sisältö | Esimerkki | Huom. |
| 1 | Henkilönumero | 17 | Kurssinumero tai HETU |
| 2 | Palkkalaji (koodi) | TUNTIP | ISO-merkkijono |
| 3 | Määrä (lukumäärä, des.) | 17,5 | Ei välilyöntejä |
| 4 | (tyhjä) | Jätä kenttä tyhjäksi | |
| 5 | Á-hinta (yksikköhinta) | 14,2 | Desimaalierotin pilkku |
| 6 | (tyhjä) | Jätä kenttä tyhjäksi | |
| 7 | Projekti | PROJ1 | Valinnainen, voi jättää tyhjäksi |
| 8 | Kustannuspaikka | KP123 | Valinnainen, voi jättää tyhjäksi |
| 9 | (tyhjä) | Jätä kenttä tyhjäksi |
Tulos: Tuotu: 42, ohitettu: 3, virheitä: 1 riviä
V10
-
Rajaajana: erotin (
Tab, ASCII 9) -
Otsikkorivi: vapaaehtoinen (rutiini tunnistaa ja ohittaa sen automaattisesti)
-
Kenttiä tulee olla vähintään 6 saraketta; ylimääräiset sarakkeet tai tyhjät sarakkeet rutiini ohittaa
| Sarake # | Sisältö | Muoto | Pakollinen? |
| 1 | Henkilönumero | Kokonaisluku (esim. 1234) | Kyllä |
| 2 | (ei käytetä) | — | Ei |
| 3 | Palkkalaji | Koodi-merkkijono (esim. TUNTIP) | Kyllä |
| 4–5 | (ei käytetä) | — | Ei |
| 6 | Lukumäärä | Desimaaliluku pilkulla (esim. 8,50) | Kyllä |
| 7+ | (voi sisältää muita kenttiä, kuten projekti, KP tms.) mutta V10-rutiini ei lue niitä automaattisesti | — | Ei |
Esimerkki:
1001 TUNTIP 7,50
1002 YLITTI 2,00
Tulos esim Tuotu: 42 tuntitapahtumaa, ohitettu: 3, virheitä: 1
Yleisimmät virheilmoitukset:
| Ilmoitus | Selitys | Toimenpide |
| Tuontitiedostoa ei voitu lukea. | Tiedostoa ei löydy tai se on tyhjä | Tarkista tiedoston nimi ja polku |
| Rivi ilman henkilöä | Sarake 1 on tyhjä tai virheellinen | Korjaa henkilönumero |
| Palkkalaji … ei löydy. | Sarake 3 koodi ei ole tunnistettu | Luo/päivitä palkkalaji koodistoon |
| Lukumäärä = 0 | Sarake 6 on nolla | Poista rivi tai korjaa määrä |
| Maksu verolaskettu – ohitetaan | Maksu on jo verolaskettu, rivi ohitetaan | — |
| Maksu päätetty – ohitetaan | Maksu on lukittu, rivi ohitetaan | — |
Viikkolista
-
Erottimena käytetään puolipistettä (
;). -
Ensimmäinen otsikkorivi tunnistetaan, kun sarake B sisältää sanan
Name. Rutiini ohittaa kaikki rivit ennen sitä. -
Sarakkeet tulee olla vähintään 22, mutta ylimääräiset tai tyhjät sarakkeet eivät haittaa.
Name;Project;Mon;Tue;Wed;Thu;Fri;Sat;Sun;Total;Total;paid;overtime;overtime;Sunday;Week;Night;Bank;Last week;Total;Comments;
Huom. Otsikossa on kaksi “Total” ja kaksi “overtime”–saraketta, mutta rutiini käyttää kiinteitä sijainteja (ks. kohta 2).
| Kenttä | Sarakenumero | Muuttuja | Selite |
| Name | 1 | Sardata[1] | Henkilönumero (LUKU) |
| Project | 3 | Projekti | Projekti (merkkijono) |
| Mon–Sun | 4–10 | (ei käytetä) | Päivittäiset tunnit (rutiini laskee Total) |
| Total (AIKA) | 13 | AIKA | Viikkotunnit (perusaika) |
| overtime (50%) | 14 | Yli50 | Ylityöt 50 % |
| overtime (100%) | 15 | Yli100 | Ylityöt 100 % |
| Sunday | 16 | Sunnuntai | Sunnuntaityöt |
| Week | 17 | Vkolepo | Viikon lepo |
| Night | 18 | Yoh | Yölisät |
| Bank | 19 | Pankkih | Pankkivapaiden tuntimäärä (+/–) |
| Last week | 20 | EdvPankkih | Viime viikon pankkivapaiden saldo |
| Total (bank) | 21 | Pankkitot | Pankkivapaiden kokonaismäärä |
| Comments | 22 | Huom | Vapaateksti, siirtyy muistioksi |
Rivi käsitellään, jos AIKA + Yli50 + Yli100 + Sunnuntai + Vkolepo + Yoh + Pankkih + EdvPankkih + Pankkitot ≠ 0 tai jos asetuksessa Salli nollamäärät on päällä. Jokaisesta ei-nollasta kategoriasta luodaan erillinen kirjaus, koodit:
| Muuttuja | Palkkalaji-koodi | Selite |
| AIKA | AIKA | Perusviikkotunnit |
| Yli50 | YLI50 | Ylityöt 50 % |
| Yli100 | YLI100 | Ylityöt 100 % |
| Sunnuntai | SUNN | Sunnuntaityöt |
| Vkolepo | VKOLEPO | Viikon lepo |
| Yoh | YOH | Yötyölisät |
| Pankkih | PANKKI+ tai PANKKI- | Pankkivapaa plus/minus |
| Pekkaskorvaus | PEKKASKORVAUS | Pekkaspalkka |
| Loma | LOMAK | Lomakorvaukset |
Huom.
-
Jos projektikenttä alkaa kirjaimella
P, Aika-kentän arvo siirtyy Pekkaskorvaukseksi. -
Jos projektikenttä alkaa
V, arvoja käsitellään lomana (Loma = AIKA/8).
Esimerkki:
1001;100A;Mon;Tue;... ← rivikohtainen data
1001;100A;...;42;5;...
1002;200B;...;0;0;...
Visma Expense
Visma Expense -rutiini tuo järjestelmään kululaskutiedot Visma Expensestä ja luo niille palkkakirjaukset. Tuonti lukee CSV/TSV-tiedoston, jossa on vähintään otsikkorivi ja rivikohtaiset kentät.
-
Erottimena käytetään välilyöntiä merkkijonon
<009>tai sen korvaavaa erottinta (painikkeesta voi valita esim. tabulaattorin). -
Ensimmäinen rivi, jossa sarake
EMPLOYEEesiintyy, tunnistetaan otsikkoriviksi. Rutiini ohittaa sitä edeltävät rivit, mutta maksimissaan 10 riviä.
Esimerkki otsikkorivistä:
Employee ClaimID Paycode TransferDate Quantity UnitPrice TotalValue Description Kustannuspaikka Toiminto TransactionDate
Sarakkeiden järjestys voi vaihdella, kunhan ne löytyvät otsikkoriviltä. Rutiini tunnistaa sarakenimet case-insensitiivisesti.
| Otsikko | Sisältö | Selite |
| EMPLOYEE | Henkilönumero (kuukausittainen työntekijätunnus) | Välittyy kirjauksen Nro-kenttään |
| CLAIMID / PAYCODE | Kulukoodi (palkkalaji) | Mapped-to-laji-kenttä |
| TRANSFERDATE | (ei käytetä) | Ohitetaan |
| QUANTITY | Matka- tai tuntimäärä | Lukumäärä |
| UNITPRICE | Yksikköhinta | Euro / yksikkö |
| TOTALVALUE | (ei käytetä) | Ohitetaan |
| DESCRIPTION | Kuvausteksti | Lisätään selitekenttään + päivämäärä |
| KUSTANNUSPAIKKA | Kustannuspaikka | Välittyy kustp-kenttään |
| TOIMINTO | Projekti | Projektikenttä |
| TRANSACTIONDATE | Matkan/päivän päivämäärä (merkkijonona) | Lisätään selitteen perään |
Tulos:
Tuotu: 12 tuntikirjausta, ohitettu: 2, virheitä: 0
| Virheilmoitus | Syitä | Ratkaisu |
|---|---|---|
| Otsikkoriviä ei löytynyt… | Ei riviä, jossa sarake B = Employee
|
Tarkista tiedoston erottimet ja otsikkorivi |
| Rivillä ei henkilönumeroa – ohitetaan |
EMPLOYEE-kenttä puuttuu tai on 0 |
Lisää tai korjaa Employee-arvo |
| Palkkalaji XXX ei löydy | Väärä tai tuntematon Paycode/ClaimID | Tarkista Paycode-koodit Visma Expensessä |
| Rivin lisäämisvirhe | Tietokantayhteys tai kenttäarvojen virhe | Ota yhteys järjestelmän ylläpitoon |