MARJATILAN KIRJANPITO- OHJELMISTO



Samankaltaiset tiedostot
Kieliversiointityökalu Java-ohjelmistoon. Ohje

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

Hallintaliittymän käyttöohje

Raporttiarkiston (RATKI) käyttöohjeet Ohjeet

Pika-aloitusopas. Sisältö: Projektin luominen Projektin muokkaaminen ja hallinnointi Projektin/arvioinnin tulosten tarkastelu

Nuorten hyvinvointi tilastotietokannan käyttöohjeet Tieke

ORGANISAATION KIRJAUTUMINEN TURVASIRU.FI-PALVELUUN

Sisällys Clerica Web-sovellusten käytön aloittaminen 2

KYMP Webmail -palvelu

Kirjanpidon ALV-muutos

Elisa Kassa - Kassa käyttöliittymä

Webmailin käyttöohje. Ohjeen sisältö. Sähköpostin peruskäyttö. Lomavastaajan asettaminen sähköpostiin. Sähköpostin salasanan vaihtaminen

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä

Ohje 1 (12) Maarit Hynninen-Ojala MOODLE PIKAOHJE. Kirjautuminen Moodleen ja työtilan valitseminen

ARVI-järjestelmän ohje arvioinnin syöttäjälle

UUDEN NETTIJÄSENREKISTERIN OHJEET. Kirjaudu sisään antamalla käyttäjätunnus ja salasana

RATKI 1.0 Käyttäjän ohje

Käyttöohje. Visy Access Net UPM

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

JAKELUPISTE KÄYTTÖOHJE 2/6

MicroStation V8i-käyttöympäristö

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

Sonera Yrityssähköposti. Outlook 2013 lataus ja asennus

NTG CMS. Julkaisujärjestelm. rjestelmä

Tulosta yrityksesi tuloslaskelma ja tase myöhempää tarkastusta varten. Ota varmuuskopio tilanteesta ennen tilimuunnosta.

Nettisivujen Päivitysohje

SALITE.fi -Verkon pääkäyttäjän ohje

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

UTIFLEET-VARAUSJÄRJESTELMÄ KÄYTTÄJÄN OHJE. Gospel Flight ry

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Toimittajaportaalin pikaohje

HENKILÖLISTA-PALVELU Käyttöohjeet versio

Action Request System

RATKI 1.0 Talousraportin käyttäjän ohje

Visma Business AddOn Tositteiden tuonti. Käsikirja

24h Admin V / 24h_Admin_v100.pdf 1/9

ARVI-järjestelmän ohje arvioinnin syöttäjälle

Automaattitilausten hallinta. Automaattitilauksien uudistettu käsittely

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE

Pipfrog AS Tilausten hallinta

Kilta-rekisterin ohje Yhdistyskäyttäjille

Nettiposti. Nettiposti käyttöohje

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Toimittajaportaalin rekisteröityminen Toimittajaportaalin sisäänkirjautuminen Laskun luonti Liitteen lisääminen laskulle Asiakkaiden hallinta Uuden

Meeting Plannerin käyttöohje

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

NOVAPOINT Soundings Editor 3.3

Toimittajaportaalin pikaohje

OHJE ATERIAPÄIVÄKIRJAN MUOKKAUKSEEN

VSP webmail palvelun ka yttö öhje

10. ASIAKASHALLINTA CRM; Osoitetarrat, ryhmäsähköposti ja export

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

OPI-Maksut - Käyttötapaukset

Sisällysluettelo 1 Johdanto Root, koko Opalan pääkäyttäjä

ASENNUS- JA KÄYTTÖOHJE

Tervetuloa käyttämään ehopsia

Uutiskirjesovelluksen käyttöohje

Sisäänkirjautuminen Tallennus/raportit (YAP) Tallennusohjelma

TYVI-ilmoitusten antaminen Eximistä saatavilla tiedoilla

Ohjelmoinnin perusteet Y Python

KÄYTTÖOHJE. Servia. S solutions

VIS Online 2.0 version uudistukset

Manager. Doro Experience. ja Doro PhoneEasy 740. Suomi

1 eportfolio Kyvyt.fi - palvelun käytön aloittaminen

1. Uuden Ilmon käytön eroavaisuudet vanhasta Ilmosta lyhyesti

Punomo Blogit BLOGIN LUOMINEN WORDPRESS-ALUSTALLA. Kirjaudu -palveluun osoitteessa tunnuksellasi.

Tulorekisteri: Varmenne Visma Fivaldi

Operator's Panel Välityspöytä

Office_365_loppukäyttäjän ohje Esa Väistö

Informaatiotekniikan kehitysyksikkö

Larppa-laskutusohjelma v1.1 Ohje

Opas administraattori-tason käyttäjille. MANAGERIX -ohjelman esittely... 2 Kirjautuminen... 2

Office ohjelmiston asennusohje

KÄYTTÖOHJE / Ver 1.0 / Huhtikuu WordPress KÄYTTÖOHJE Sotkamo 2016

Kortinhaltijat joilla on maksukeskeytys Maksuryhmään liitettyjen kortinhaltijoiden lukumäärä, joiden maksut ovat tilapäisesti keskeytetty.

1. ASIAKKAAN OHJEET Varauksen tekeminen Käyttäjätunnuksen luominen Varauksen peruminen... 4

Asiointipalvelun ohje

Ohjelmoinnin perusteet Y Python

Opinto-oppaan tekeminen

Seutudokumenttien pä ivittä misohje

PALAUTUKSEN PERUSTOIMINNALLISUUDEN KUVAUS

Lomalista-sovelluksen määrittely

Älä vielä sulje vanhoja

BaseMidlet. KÄYTTÖOHJE v. 1.00

ADMIN. Käyttöopas 08Q4

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Netsor Webmailin käyttöohje

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Sähköposti ja uutisryhmät

Aimo-ohjauspaneelin käyttöohje Sisällys

PIKAOHJE USEIDEN VASTAANOTTAJIEN LISÄÄMISEEN YHTIÖN JAKELULISTOILLE

Automaattitilausten hallinta

Asko Ikävalko, k TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen

Uuden työ- tai mittavälineen luominen tietokantaan

17 BUDJETOINTI. Asiakaskohtainen Budjetti Ylläpito-ohjelma. Dafo Versio 10 BUDJETOINTI. Käyttöohje. BudgCust Yleistä

Transkriptio:

Esa Hill Versio: 1.0 Esa.hill@saunalahti.fi t0103574@puv.fi 050-3584697 06.05.2003 Ohjaaja: Martti Mustonen VAASAN AMMATTIKORKEAKOULU Esa Hill MARJATILAN KIRJANPITO- OHJELMISTO Tekniikka ja liikenne 2003

2 SISÄLLYS...2 ALKUSANAT... 5 TIIVISTELMÄ...6 ABSTRACT...7 1.JOHDANTO... 8 2.ESITUTKIMUS... 9 2.1.Teoriaa... 9 2.2.Ohjelmiston tapahtumat...10 2.3.Tapahtumista tallennettavat tiedot...10 2.3.1.Työntekijä...10 2.3.2.Lajike...10 2.3.3.Poiminta... 10 2.3.4.Myynti... 11 2.3.5.Muut meno/tulo-tapahtumat...11 2.3.6.Muistiinpanot... 11 2.3.7.Lisätapahtumien lisäys... 12 2.3.8. Ulkopuolisen varaston tapahtumat... 12 2.4.Palkan laskeminen ja siihen liittyvät kulut... 12 2.5.Arvonlisäveron laskeminen... 13 2.6.Tulosteet... 14 2.6.1.Maksukuitti...14 2.6.2.Palkanmaksutositteet...14 2.6.3.Raportit yhteenvedoista...15 3.VAATIMUS MÄÄRITTELY...16

3 3.1.Yleiskuvaus...16 3.2.Toiminnot... 18 3.3.Ulkoiset liittymät... 19 3.4.Muut toiminnot... 19 3.5.Laatusuunnitelmat...19 4.TOIMINNALLINEN MÄÄRITTELY...20 4.1.Tiedot ja tietokanta... 20 4.1.1.Tietokanta...20 4.1.3.Ohjelmiston resurssitiedostot... 21 4.2.Toiminnot... 23 4.2.2.Lajikkeen lisäys...23 4.2.3.Lajikkeen muokkaus...25 4.2.4.Lajikkeen poisto... 26 4.2.5.Lajikkeiden selaus... 28 4.2.6.Lajikkeen statistiikka...30 4.2.7.Vakioiden asettaminen... 31 4.2.8.Uuden satokauden lisääminen...34 4.3.Ohjelmiston rakenne...36 4.4.Muut ominaisuudet... 38 4.4.1.Suorituskyky...38 4.4.2.Käytettävyys... 38 4.4.3.Toipuminen virhetilanteista...39 4.4.4.Turvallisuus...39 4.4.5.Ylläpidettävyys...39 4.4.6.Siirrettävyys...40

4 5.OHJELMISTON TOIMINTA...41 5.1.Ohjelmiston käynnistys ja uuden tietokannan luominen... 41 5.2.Tietojen lisääminen...42 5.3.Tietojen selaus... 44 5.4.Tietueen poisto...45 5.5.Statistiikkojen käyttö... 46 6.TESTAUS... 48 6.1.Testaustapa... 48 6.2.Testauslaitteisto ja ohjelmisto...48 6.3.Testaustulokset... 49 LOPPUSANAT...51 LÄHDELUETTELO... 52 LIITELUETTELO...54

5 ALKUSANAT Tämä opinnäytetyö on suoritettu Vaasan ammattikorkeakoulussa elektroniikan ja tietotekniikan koulutusohjelmassa Vaasassa. Opinnäytetyön valvojana toimi Lehtori Martti Mustonen. Opinnäytetyö on suoritettu kevään 2003 aikana. Vaasa, 06.05.2003 Esa Hill

6 VAASAN AMMATTIKORKEAKOULU Elektroniikan ja tietotekniikan koulutusohjelma TIIVISTELMÄ Tekijä Opinnäytetyön nimi Esa Hill Vuosi 2003 Kieli Sivumäärä Ohjaaja Marjatilan kirjanpito-ohjelmisto suomi 46 + 13 liitettä Martti Mustonen Tämän opinnäytetyön tarkoituksena oli luoda ohjelmisto marjatilan kirjanpitoon. Idea aiheeseen tuli omasta tarpeesta tällaiseen ohjelmistoon. Työn tavoitteena oli luoda ohjelmisto, jolla voidaan tallentaa kaikki tieto sadon korjuusta (poiminnasta) ja myynnistä sekä luoda näistä tiedoista yhteenvetoja. Perusajatuksena ohjelmiston suunnittelussa oli se, että sato pitää korjata käsin. Tämä johtaa siihen, että tarvitaan ulkopuolisia työntekijöitä, joiden palkka maksetaan poimitun määrän perusteella. Tiedot jokaisesta poiminta tapahtumasta pitää tallentaa tarkkaan, että palkanmaksu voidaan suorittaa oikein. Toisena perusajatuksena oli se, että tilalta myydään marjaa myös suoraan yksittäisille kuluttajille. Näistäkin tapahtumista pitää olla tarkka kirjanpito, että arvonlisäveromaksu voidaan suorittaa oikein. Ohjelmiston tarkoituksena ei ole olla ns. täysiverinen kirjanpito-ohjelma, vaan toimia aputyökaluna tilan koko kirjanpitoa varten. Ohjelmistossa olevat tapahtumat ja parametrit sekä koko toimintalogiikka perustuu omiin kokemuksiin marjatilanpidosta. Opinnäytetyön tuloksena syntyi ohjelmisto, jossa on yli kolmekymmentä erilaista käyttöliittymää ja tietokanta, jossa on yksitoista taulua. Ohjelmasta voidaan tulostaa kahdeksan erilaista tulostetta ja tutkia kymmentä eri kaaviota. UDK 004.4, 631.16 Asiasanat Kirjanpito-ohjelmisto, Java

7 VAASAN AMMATTIKORKEAKOULU Elektroniikan ja tietotekniikan koulutusohjelma ABSTRACT Author Topic Esa Hill Year 2003 Language Pages Name of Supervisor Accounting Software for Berry Farms Finnish 46 + 13 appendices Martti Mustonen The aim of the study was to produce customized accounting software for berry farms. The main purpose of the thesis was to create software, which could be used to record all data of all gatherings and sales. The purpose of the software is not to be true accounting software, but to serve as a helpful tool. The user is able to add all varieties and also the possible employees the farm needs for harvesting to the software. Then the user can add gathering events and sale events. The user is also able to add exports and sales from other than the farm s own warehouse (for example cooperative society s warehouse). The software has also a possibility to add other user defined incomes and expenses. From all these events the software is able to calculate statistics, for example, the value of sales and wages. This gives a chance for the user to observe the berry productions profitability. The statistics are shown either in the customized user interfaces, tables or in charts. The user can print receipts from sales and the data from statistics or just all events. The software calculates taxes to be paid of the wages that are required and specifies them in own fields. It also specifies VAT s share from the sales. This information can be printed out and user can use them in the actual accounting. The software was programmed with Java and made JRE1.3.1 and JRE1.4.1 compatible. Microsoft Access was used to create the database for the software. The software can be easily moved, for example, from a desktop to a laptop if it is used, for example, in warehouse where the employees bring harvest to be weighted. The software is Windows98SE and Windows2000 compatible. It is most likely also compatible with newer versions of Windows, but it has not been tested. The software uses two outside packages, TableLayout.jar and JFreeChart.jar. The one mentioned first is used in building the user interface and the latter is used for displaying charts.

8 UDK 004.4, 631.16 Keywords Accounting Software, Java 1. JOHDANTO Projektin tarkoituksena on luoda kirjanpito-ohjelmisto ns. marjatilan vaatimuksiin. Ohjelmistolla on tarkoitus pystyä ylläpitämään tietoa kaikista menoista ja tuloista, joita syntyy juuri tilan marjatuotannossa. Ohjelmassa on tosin mahdollisuus lisätä myös muita mahdollisia meno- ja tulokohteita. Syötetyistä tiedoista ohjelma luo informatiivisia statistiikkoja. Statistiikoilla tässä tarkoitetaan tilastoja ja yhteenvetoja, jotka on laskettu syötetyistä tapahtumista. Statistiikat näytetään taulukkoina, kaavioina ja erillisinä käyttöliittyminä, joita käyttäjä voi tulostaa. Ohjelmistolla voidaan tallentaa tietokantaan lajikkeiden tuottamat sadot. Nämä tallennetaan yksittäisinä poiminta tapahtumina, joita suorittavat järjestelmään syötetyt työntekijät. Ohjelmistolla voidaan tallentaa tilalta tapahtuvia myyntejä, joko tilan varastosta tai itsepoimien tapahtuvia, sekä tulostaa näistä maksukuitteja. Kuiteissa on tilan yhteystiedot sekä myyty lajike, hinta ja summat sekä myös arvonlisäveron osuus. Ohjelmistolla voidaan pitää yllä rekisteriä tuotteiden määristä varastossa. Siinä voidaan eritellä oman varaston ja mahdollisen ulkopuolisen (esim. osuuskunnan tai vuokratun) varaston määrät. Ulkopuoliseen varastoon voidaan tehdä vientejä sekä myyntejä sieltä. Lisäksi on mahdollisuus tehdä poistoja ulkopuolisesta varastosta. Ohjelmistossa on kaksi tilaa, pääkäyttäjä- ja käyttäjä-tilat. Pääkäyttäjä tilassa käyttäjä voi käyttää kaikkia ohjelmiston toimintoja. Käyttäjä-tilassa käyttäjä voi vain lisätä poimintoja, myyntejä sekä tulostaa myyntikuitin. Tämä jako on tehty sen takia, että ohjelmalla on todennäköisesti useampia käyttäjiä (esim. kukin poimija voi lisätä itse omat poimintansa) ja tällöin kukin heistä voisi katsoa esim. myyntimäärät. Tilan omistaja ei välttämättä halua pitää tällaisia tietoja julkisena.

9 Ohjelmisto on tehty täysin siirrettäväksi. Tällöin sama ohjelma voidaan siirtää tietokoneesta toiseen ilman mitään asentamisia tai ohjelmaa voidaan ajaa vaikka siirrettävältä medialta, johon voidaan kirjoittaa (esim. zip-levy). 2. ESITUTKIMUS 2.1. Teoriaa Idea tähän ohjelmistoon syntyi omasta tarpeesta, koska vastaavia ohjelmia ei ollut tarjolla. En ainakaan löytänyt juuri tähän tarkoitukseen tehtyjä ohjelmia. Maatiloille suunnattuja kirjanpito-ohjelmia on useita, mutta ne ovat suunnattu pääasiassa tavalliseen viljelyyn (vilja, heinä jne.). Marjatilan toiminnassa on erilaista se, että siinä tarvitaan yleensä useita ulkopuolisia työntekijöitä vain sadonkorjuun aikaan ja nämä henkilöt saavat yleensä palkan ahkeruuden perusteella, jolloin palkka maksetaan yleensä poimittu määrä (esim. kg) kerrottuna lajikkeesta maksettavalla palkalla (esim. /kg). Tässä tilanteessa on tarpeellista pitää erittäin tarkkaa kirjanpitoa, että palkanmaksu voidaan suorittaa virheettä. Yleensä marjatiloilta myydään myös suoraan lajikkeiden satoa, joko itsepoimien tai valmiiksi poimittuna. Näistäkin tapahtumista on tarpeen saada tiedot talteen, että voidaan tarkastella toiminnan kannattavuutta ja maksaa myynnistä koituva arvonlisävero oikein. Tässä ohjelmassa on tarkoitus yhdistää nämä kolme tapahtumaa (poiminta, myynti ja palkanmaksu) yhteen ja antaa niistä tilastotietoa käyttäjälle. Ohjelman ei ole tarkoitus olla koko tilan täydellinen kirjanpito-ohjelma, vaan olla apuna toiminnasta syntyvän tiedon tallettamisessa. Talletetuista tiedoista käyttäjä voi tulostaa raportteja esimerkiksi maksetuista palkoista ja arvonlisäveroista ja luoda näistä viralliset dokumentit.

10 2.2. Ohjelmiston tapahtumat Ohjelmistossa on seuraavia tapahtumien pääkohtia: työntekijä, lajike, poiminta, myynti, muistiinpanot, varasto sekä muut meno- ja tulotapahtumat. Jokaiselle näistä on seuraavat tapahtumat lisäys, poisto ja selaus sekä statistiikkojen selaus. Muistiinpanoilla ei ole kuin lisäys- ja selaus- tapahtumat. Kaikista näistä pääkohdista voidaan tehdä tulostuksia. Statistiikoista voidaan tulostaa raportteja ja itse tapahtumista voidaan tulostaa listoja. 2.3. Tapahtumista tallennettavat tiedot 2.3.1. Työntekijä Työntekijöistä on tarpeen tallentaa perusasioita kuten nimi, osoite, sosiaaliturvatunnus, puhelinnumero ja tilinumero sekä veroprosentti, joita käytetään palkan maksamisessa. Lisäksi työntekijästä voidaan tallentaa muuta tietoa kenttä sekä merkintä, maksetaanko työntekijälle palkka. 2.3.2. Lajike Lajikkeesta on tarpeen tallentaa nimike, valmiiksi poimittuna myyntihinta, itsepoimien myyntihinta, summa, joka maksetaan poimijalle per yksikkö (esim. euroa/kg tai euroa/litra), sekä yksikkö, jolla lajiketta käsitellään (esim. litra tai kilo). Lisäksi myös lajikkeesta voidaan tallentaa muuta tietoa kenttä ja sitä istutettu määrä (kappaletta) sekä istutusvuosi. 2.3.3. Poiminta Poiminta tapahtumasta tulee tallentaa seuraavat tiedot: poimittu määrä, poimittu lajike, poimija(työntekijä) sekä päivä, jolloin poiminta on tapahtunut.

11 2.3.4. Myynti Myynti tapahtumasta tallennetaan seuraavat tiedot myyty määrä, myyty lajike, myyntipäivämäärä sekä tieto, onko kyseessä itsepoiminta vai omasta varastosta myynti. Lisäksi jos ostaja on työntekijä ja osto halutaan vähentää palkasta, voidaan siitä tehdä merkintä tietokantaan. Tällöin pitää myös tallentaa tieto kyseisestä työntekijästä. Lisäinformaationa tallennetaan vielä maksutapa. Samassa tapahtumassa voidaan myös lisätä ulkopuolisesta varastosta myyntitapahtuma. Siitä tallennetaan myyty määrä, myyty lajike, myyntipäivämäärä ja myyntihinta. Tämä hinta ei ole sama kuin suoraan tilalta tapahtuvassa myynnissä, koska asiakkaana on yritys ja tällöin hinta voi vaihdella. Tästä tapahtumasta voidaan myös tallentaa muuta tietoa - kenttä. 2.3.5. Muut meno/tulo-tapahtumat Muissa meno/tulo-tapahtumissa voidaan tallentaa käyttäjän ennalta määräämiä tapahtumia, esimerkiksi muita palkkakuluja, polttoaine- tai lannoitekuluja. Niistä tallennetaan tiedot summa, päivämäärä ja meno/tulokohde sekä mahdollinen muuta tietoa -kenttä. 2.3.6. Muistiinpanot Tämän tapahtuman tarkoituksena on antaa käyttäjälle mahdollisuus lisätä muistiinpanoja haluamistaan asioista. Muistiinpanosta tallennetaan päivämäärä, viite sekä itse muistiinpano, joka voi olla maksimissaan 65500 merkkiä pitkä.

12 2.3.7. Lisätapahtumien lisäys Tässä tapahtumassa käyttäjä voi lisätä omia tapahtumiaan. Niistä tallennetaan vain nimike (esim. palkka tai polttoaine). Nimike vielä eritellään joko menoksi tai tuloksi tietokantaan. 2.3.8. Ulkopuolisen varaston tapahtumat Varaston tapahtumilla voidaan pitää tietoa yllä siitä, kuinka paljon tuotteita on ulkopuolisessa varastossa (esim. osuuskunnan varastossa). Tapahtumassa voidaan tehdä joko varastoon vientejä tai varastosta poistoja. Jälkimmäinen tehdään vain, jos jostain syystä varastosta joudutaan tuomaan takaisin tilan omaan varastoon tai jostain syystä tuote on päässyt pilaantumaan varastossa ja poistetaan sieltä. Ulkopuolisesta varastosta tapahtuvia myyntejä ei saa enää poistaa tällä tapahtumalla. Niiden ylläpito hallitaan myynti-tapahtumissa. 2.4. Palkan laskeminen ja siihen liittyvät kulut Työntekijän palkan laskemisessa otetaan huomioon hänen poimimansa lajikkeet, määrät sekä summat mitä maksetaan poimitulta yksiköltä. Lisäksi tästä summasta vähennetään mahdolliset työntekijän itselleen ostamat määrät. Näistä saada summa, josta vielä vähennetään verot, eläkevakuutusmaksu ja työttömyysturvamaksu. Maksut lasketaan bruttopalkasta ja vähennetään nettopalkasta ennakonpidätyksen toimittamisen jälkeen. Veroprosentti määräytyy työntekijän omasta tilanteesta ja on oltava hänen ilmoittamansa. Sosiaaliturvamaksu määräytyy yrityksen/tilan mukaan ja sen maksu kuuluu yritykselle. Eläkevakuutusmaksu ja työttömyysturvamaksu ovat kiinteät. Nämä kolme arvoa määräytyvät verohallituksen määräysten mukaan [2]. Alla laskuesimerkki (prosenttiluvuista osa vaihtuu yrityskohtaisesti ja tapaturmavakuutusmaksu on vakuutusyhtiö kohtainen):

13 Työntekijälle maksettava palkka sekä palkasta perittävät verot: Poimittu määrä = 300 kg, palkka/kilo 2.5 /kg Palkka = 300 kg * 2,5 /kg = 750 Poimijan veroprosentti = 35 % Veronosuus palkasta = 750 * (35%/100) = 262,5 Eläkevakuutusmaksuprosentti = 4,6 % Työttömyysvakuutusmaksuprosentti = 0,2 % Perittävät maksut prosentti yhteensä = 4,8 % Nettopalkasta perittävä summa = (750 ) * (4,8%/100) = 36,00 Maksettava palkka = 750 - (36,00 + 262,5 ) = 451,5 Verohallinnolle maksettavat työnantajan osuudet: Sosiaaliturvamaksu = 2,964 % = 750 * (2,964%/100) = 22,23 Eläkevakuutusmaksu = 17,6 % = 750 * (17,6%/100) =132,0 Työttömyysvakuutusmaksu = 0,6 % = 750 * (0,6%/100) = 4,5 Tapaturmavakuutusmaksu = 1,1 % = 750 * (1,1%/100) = 8,25 Ryhmähenkivakuutusmaksu = 0,081 % = 750 * (0,081%/100) = 0,61 Yhteensä = 22,345 % = 750 * (22,345%/100) = 167,59 YHTEENVETO: Työntekijälle maksettava palkka = 451,5 Työntekijän palkasta perittävät sivukulut ja ennakko = 298,5 Työnantajan maksettavat sivukulut = 167,59 [2] Työnantajien eläke- ja vakuutusmaksuja 2003 2.5. Arvonlisäveron laskeminen Kaikista myynneistä tulee maksaa arvonlisävero. Marjatilan tuotteilla, eli elintarvikkeilla tämä on 17% (vuonna 2003). Asiakkaalta veloitetaan koko bruttosumma ja tilanomistaja maksaa alv:n osuuden valtiolle [1]. Alv:n osuus lasketaan esimerkiksi näin: Myynnin arvo = 10 kg á 10 /kg = 100 Alv:n osuus (17%) = 100 * 0,17 = 17 Veroton hinta = 100-17 = 83

14 [1] Aloittavan yrittäjän alv-kysymyksiä 2.6. Tulosteet Ohjelmiston jokainen tapahtuma voidaan tulostaa paperille. Myynti-tapahtumasta voidaan tulostaa ostotilanteessa maksukuitti. Ohjelmiston selaus-käyttöliittymistä voidaan tulostaa kaikki perustapahtumat. Statistiikka-käyttöliittymistä voidaan tulostaa perustapahtumista laskettuja yhteenvetoja. Luvuissa 2.6.1 2.6.3 on esitelty muutama tuloste. Jokaiseen tulosteeseen tulee ylä- ja alatunniste. Ylätunnisteessa on tilan nimi, tulosteen otsikko sekä päivä ja kellon aika, jolloin tulostus on tapahtunut. Alatunnisteessa on tilan nimi, lähiosoite, postiosoite, lankapuhelinnumero, matkapuhelinnumero 1, matkapuhelinnumero 2, tilan Internet-sivujen osoite, tilan sähköpostiosoite sekä tilan y-tunnus. 2.6.1. Maksukuitti Maksukuitissa tulostetaan ylä- ja alatunnisteitten lisäksi lajikkeen nimi, maksutapa, myynti hinta/yksikkö (esim. /kg), myyty määrä sekä summa. Summasta eritelleen vielä alv:n osuus, pyöristys, sekä maksettava summa, joka on pyöristetty lähimpään viiteen senttiin (0,05 ). Esimerkkituloste on liitteessä 1. 2.6.2. Palkanmaksutositteet Palkanmaksutositteita on kaksi. Ensimmäisessä tositteessa on taulukossa kaikkien työntekijöitten palkkatiedot. Taulukossa on eriteltynä työntekijän nimi, tieto siitä onko palkka maksettu, bruttopalkka, ennakon osuus, työntekijän verohallinnolle maksettavat palkan sivukulut, työnantajan verohallinnolle maksettavat palkan sivukulut sekä nettopalkka. Taulukon jälkeen on yhteenveto edellä mainituista

15 summista, sekä kenttä jossa on laskettu yhteen kaikki työnantajalle koituvat palkkakulut. Esimerkkituloste on liittessä 2. Toisessa tositteessa on vain yhden työntekijän palkkatiedot. Tulosteessa on eriteltynä työntekijän nimi, henkilötunnus, lankapuhelinnumero, matkapuhelinnumero, tilinumero sekä veroprosentti. Palkkatiedoista tulostetaan bruttopalkka, ennakon osuus, sivukulut sekä nettopalkka. Esimerkkituloste on liittessä 3. 2.6.3. Raportit yhteenvedoista Jokaisesta statistiikka-käyttöliittymästä on oma tuloste Yhteensä statistiikkatulosteita on seitsemän (mukaan lukien palkanmaksutositteet). Tässä dokumentaatiossa esitän kuitenkin vain yhden statistiikka-tulosteen (palkanmaksutositteiden lisäksi). Lajikkeiden statistiikka-tulosteessa on seuraavat tiedot: lajikkeen nimi, sadon määrä suhteessa puskien määrään, lajikkeen ikä, hinta myydessä omasta varastosta, hinta itsepoimien sekä palkka mikä maksetaan poimitusta määrästä. Varsinaisia tilastotietoja ovat myyty määrä itsepoimien, myyty määrä tilan varastosta, myyty määrä ulkopuolisesta varastosta, määrä omassa varastossa, määrä ulkopuolisessa varastossa, sadon kokonaismäärä, myyty kokonaismäärä, alv:n osuus myynnistä ja myyntitulo, josta on vähennetty alv:n osuus. Esimerkkituloste on liittessä 4. 6.4

16 3. VAATIMUS MÄÄRITTELY 3.1. Yleiskuvaus Ohjelmisto tullaan toteuttamaan Java-kielellä ja se tulee olemaan JRE 1.3.1- yhteensopiva. Ohjelman tietokantana käytetään MS Access -ohjelmistolla luotua tietokantaa. Lisäksi ohjelmassa käytetään TableLayout.jar-pakettia käyttöliittymän komponenttina sekä luokkia TableSorter- ja TableMaptaulukkojen järjestämisessä. Ne ovat Sun Microsystems -yhtiön omistamia luokkia. Nämä kaksi luokkaa tulevat j2dk1.4.1_01:n mukana (olen joutunut muokkaamaan TableSorter- luokkaa, joten se ei ole alkuperäisessä muodossaan). TableLayout.jar on saatavilla Sunin Internet-sivuilta [4]. Kuvaajien piirtoon ohjelmassa käytetään jfreechart-0.9.6.jar-pakettia. Jotta tämä JFreeChart toimisi, tarvitaan edellä mainitun paketin lisäksi jcommon- 0.7.2.jar-paketti. Tämä tulee JFreeChartin mukana. JFreeChart on Open Source projekti, joka on vapaasti ladattavissa GNU Lesser General Public Licence mukaisesti Simba Management Limitedin Internet-sivuilta [3]. Ohjelmisto tullaan tekemään mahdollisemman helppokäyttöiseksi. Käyttöliittymät pidetään mahdollisimman yksinkertaisina ja käyttäjän tekemistä virheistä pyritään ilmoittamaan mahdollisimman selkeästi. Kaikki odotettavissa olevat poikkeukset otetaan kiinni ja käsitellään niitä varten luodussa luokassa. Ohjelmiston toimivuus taataan Windows 2000 ja 98 käyttöjärjestelmissä, joissa on onnistuneesti asennettuna JRE 1.3.1. Testaamalla todetaan sovelluksen toimivuus myös JRE 1.4.1:ssä. [3] <URL: http://www.jfree.org/jfreechart/index.html>

[4] <URL:http://java.sun.com/products/jfc/tsc/articles/tablelayout/> 17

18 3.2. Toiminnot Taulukossa 1 on lueteltuna päätoiminnot, jotka ovat ohjelmistossa. Listassa toiminnot ovat hieman yhdisteltyinä esim. lisäys, poisto ja muokkaus ovat omia toimintojaan, mutta tässä listauksessa ne ovat merkitty yhdeksi tilan säästämiseksi. Taulukko 1. Ohjelmiston toiminnot Toiminto Aste T01 Lajikkeen lisäys/poisto/muokkaus 1 T02 Lajikkeiden selaus 1 T03 Lajikkeiden statiikkojen selaus 1 T04 Lajikkeiden statiikkojen tulostus 1 T05 Työntekijän lisäys/poisto/muokkaus 1 T06 Työntekijöiden selaus 1 T07 Työntekijöiden statiikkojen selaus (poiminnat, palkka) 1 T08 Työntekijöiden statiikkojen tulostus (poiminnat, palkka) 1 T09 Poimintatapahtuman lisäys/poisto 1 T10 Poimintatapahtumien selaus 1 T11 Poimintatapahtumien statiikkojen selaus 1 T12 Poimintatapahtumien statiikkojen tulostus 1 T13 Myyntitapahtuman lisäys/poisto 1 T14 Myyntitapahtumien selaus 1 T15 Myyntitapahtumien statiikkojen selaus 1 T16 Myyntitapahtumien statiikkojen tulostus 1 T17 Muun tapahtuman lisäys/poisto/muokkaus 1 T18 Muun tapahtuman selaus 1 T19 Muitten tapahtumien statiikkojen selaus 1 T20 Muitten tapahtumien statiikkojen tulostus 1 T21 Muistiinpanon lisäys/poisto/muokkaus 1 T22 Muistiinpanon selaus 1 T23 Varastoon vienti/poisto - tapahtuman lisäys/poisto/muokkaus 1 T24 Varastoon vienti/poisto tapahtumien selaus 1 T25 Varastoon vienti/poisto tapahtuman tulostus 1 T26 Vakioiden, meno/tulokohteitten, tilan tietojen asettaminen. 1 T27 Uuden satokauden luonti(uusi tyhjä tietokanta) 1 L1 Apua toiminto 3 L2 Käyttöliittymän kielenvaihto 9 M1 Zoom-toiminto 1 Tunnusten merkitys: T = Toteutettava ominaisuus (prioriteetti korkea) L = Lisäominaisuudet (prioriteetti merkittävä) M = Muut mahdolliset toiminnallisuudet (prioriteetti matala)

19 3.3. Ulkoiset liittymät Ohjelmistolla ei ole ulkoisia liittymiä. Ainoa rajapinta on ohjelmiston ja tietokannan välissä, joka toimii JDBC-ajurin välityksellä. 3.4. Muut toiminnot Ohjelmistossa ei ole muita erityisiä toimintoja taulukossa 1 mainittujen lisäksi. 3.5. Laatusuunnitelmat Ohjelmisto pyritään tekemään yksinkertaiseksi ja loogiseksi käyttää. Ohjelmisto toteutetaan niin, että kaikissa mahdollisissa poikkeuksissa, mitä käyttäjä voi (suoraan tämän ohjelmiston sisällä) aiheuttaa, että ne eivät aiheuta ohjelmiston kaatumista tai tiedon menetystä.

20 4. TOIMINNALLINEN MÄÄRITTELY 4.1. Tiedot ja tietokanta 4.1.1. Tietokanta MS Access -tietokanta valittiin käytettäväksi, koska se oli yksinkertaisimmin otettavissa käyttöön ja silti ominaisuuksiltaan tarpeeksi hyvä tähän ohjelmistoon. Ohjelman tietokannan ei tarvitse olla käsiteltävissä tietoverkosta, jolloin varsinaista tietokantapalvelinta ei tarvita. Tietokanta on niin sanotusti lokaali. Ennen tätä huomiota testasin mysql-tietokannan soveltuvuutta ohjelmistoon. Ohjelmassa luodaan aina uudelle satokaudelle uusi tietokanta, joka on kopio tyhjästä tietokannasta. Tässä MS Accessin käyttö oli paras vaihtoehto, koska käytännössä tämä tietokanta on vain yksi tiedosto, josta on helppo tehdä kopio. 4.1.2. Tietokannan luonti Tietokanta luotiin MS Access ohjelmistolla. Tätä ennen suunnittelin kannan taulut Excel-taulukkoon. Tietokannassa on yksitoista taulua, joista osa on perustietoja varten ja osaan lisätään varsinaisten tapahtumien tiedot. Perustietotauluja ovat poimija, lajike, menokohteet ja tulokohteet. Tapahtumia lisätään tauluihin myynti, myynti_palkasta, meno, tulo, poiminta ja varasto. Tietokannan taulut luotiin tekemälläni Java-luokalla, eikä itse MS Accessillä. Tällä tavoin pystyin tarvittaessa helposti luomaan taulut uudestaan. Yhteytenä tietokantaan ohjelmassa toimii JDBC-ajuri. Ohjelman alustuksessa luodaan yhteysolio java.sql.connection-luokasta. Tätä yhteysluokkaa siirrellään ohjelmassa aina sitä tarvitsevalle käyttöliittymällä.

21 4.1.3. Ohjelmiston resurssitiedostot 4.1.3.1. database.properties Tiedostossa database.properties on tieto siitä, mitä satokausi tietokantoja ohjelmistolla on käytettävissä. Jokaisesta satokaudesta tehdään oma tietokanta omaan hakemistoon ja tieto sen olemassa olosta kirjoitetaan tähän tiedostoon. Tietokannan tunnisteena toimii satokauden vuosiluku. Tämän tiedoston sisältö voi olla esimerkiksi seuraavanlainen: 2000 2001 2002 jne. 4.1.3.2. farminfo.properties Tiedostossa farminfo.properties pidetään yllä vakiotietoja, joita käytetään ohjelmassa. Tiedostossa on esimerkiksi yrityksen/maatilan nimi, osoitteet, puhelinnumerot sekä muita vastaavia tietoja joita tarvitaan ohjelmassa. Liittessä 5 esimerkki miltä tiedosto voi näyttää. 4.1.3.3. constant.properties Tiedostossa constant.properties on palkanlaskentaan ja arvonlisäveron lasketaan tarvittavat luvut. Tämä tiedosto on satokausikohtainen ja siitä tehdään samalla kopio tai luodaan uusi jokaista uutta tietokantaa kohden. Nämä arvot muuttuvat joka vuosi ja edellisenkin satokauden arvot halutaan pitää tallessa, jotta myöhemminkin voidaan esim. tulostaa oikeat tiedot menneistä satokausista. Liittessä 6 tiedoston sisältö oikeilla arvoilla (vuonna 2003).

22 4.1.3.4. maki_fi.properties Tiedostossa maki_fi.properties pidetään käyttöliittymäkomponenttien tekstit kielenmukaisesti. Otsikon nimisessä tiedostosta löytyy suomenkieliset tekstit. Jos haluttaisiin ohjelmasta vaikka ruotsinkielinen, tarvitaan siihen vain tehdä maki_se.properties-niminen tiedosto. Tällä tavalla toimittuna ohjelmasta voidaan tehdä minkä kielinen tahansa. Tekstit on tallennettu tähän tiedostoon seuraavalla tavalla: EXIT=Sulje OPEN=Avaa FAILED_PRODUCT_SAVE=Lajikkeen tallennus epäonnistui! 4.1.3.5. languages.properties Tiedostossa languages.properties pidetään yllä listaa mahdollisista käyttöliittymän tekstien kielivaihtoehdoista. Ensin tiedostossa on lyhenteet kielistä ja sen jälkeen koko kielennimi jokaisella vaihtoehdon kielellä. Seuraavassa on esimerkki tiedoston sisällöstä: fi uk --- Suomi Englanti --- Finnish English --- 4.1.3.6. settings.properties Tiedostossa settings.properties on talletettuna ohjelman eri asetuksi. Tiedostossa on esimerkiksi vuosiraja mitä ohjelmassa käytetään. Vuosirajalla tarkoitetaan sitä, että esim. myynti-tapahtuman tallennuksessa annetaan päiväys. Päiväyksen antamista varten käyttöliittymässä on yhdistelmäruudut (combobox) päivä,

23 kuukausi ja vuosi. Vuodelle tarvitaan jokin raja ja sitä tarkoitetaan tällä vuosirajalla. Lisäksi tähän tiedostoon tallennetaan ohjelmassa käytettävä salasana, kuitenkin muokattuna sellaiseen muotoon, ettei sitä suoraan voi käyttää sisäänkirjautumisessa sellaisenaan. 4.2. Toiminnot 4.2.1. Yleistä Luvusta 4.2.2 eteenpäin on esitelty ohjelman toimintojen arkkitehtuuri ja toimintalogiikka. Kaikkia toimintoja ei esitellä, koska niiden rakenne ja toimintalogiikka on sama, pääasiallisesti vain parametrit muuttuvat luokkien tarpeitten mukaan. Luvussa 4.2.2 on esiteltynä lajikkeen lisäys, poisto, muokkaus ja selaus toiminnot. Työntekijän, poimintojen, myyntien, muistiinpanojen, muut meno/tulotapahtumien sekä varaston tapahtumat toimivat samanlaisella logiikalla ja niiden rakenne on sama. Lisäksi on esitelty vakioiden asettamisen tapahtumat sekä uuden satokauden luominen. Sekvenssikaavioista on riisuttu suurin osa tapahtumista pois, jotta ne saataisiin tulostettua yhdelle A4-paperille. Varsinkin parametrien asettaminen ja hakeminen set- ja get-metodeilla on jätetty vain muutamaan ensimmäiseen koodissa olleeseen. Näiden sekvenssikaavioiden tarkoitus ei ole kertoa tarkasti kuinka ohjelma toimii, vaan antaa näkemys toimintalogiikasta ohjelman eri osissa. 4.2.2. Lajikkeen lisäys Lajikkeen lisäykseen käytetään ProductUI-luokkaa. Samalla luokalla voidaan myös selata, poistaa ja muokata lajikkeita.

24 4.2.2.1. Esiehdot ja luokalle alustuksessa annettavat parametrit Luokalle (ProductUI) tulee antaa alustuksessa yhteysolio (java.sql.connection), jolla voidaan ottaa yhteys tietokantaan ja suorittaa varsinainen tietojen tallennus. Yhteysolio täytyy olla alustettuna ja toimintavalmis. 4.2.2.2. Tallennettavat parametrit Lajikkeen lisäyksessä tarvitaan seuraavat pakolliset parametrit: lajikkeen nimi, yksikkö (esim. kiloa tai litraa), hinta itsepoimien, hinta omasta varastosta myydessä, palkka joka maksetaan poimijalle (euroa/yksikkö), määrä jota lajiketta on istutettu (kpl) sekä istutusvuosi. Lisäksi on mahdollista lisätä muuta tietoa -kenttä lisäinformaationa lajikkeesta. 4.2.2.3. Toiminnan kuvausta Kun käyttäjä on antanut 4.2.1.2 luvussa mainitut tiedot ja antaa komennon tallentaa/lisätä lajike, luokka (ProductUI) tarkistaa tietojen oikeellisuuden. Käytännössä tämä tarkoittaa sitä, että String-tyyppiset kentät (esim. lajikkeen nimi) eivät ole tyhjiä ja double-tyyppiset (esim. hinnat) ovat todellakin lukuja. Jos näin ei ole, ohjelma ilmoittaa siitä käyttäjälle ja keskeyttää tallennusprosessin. Kun tiedot ovat kunnollisia ProductUI-luokassa luodaan olio Businesslogic-tason Product-luokasta. Tälle oliolle annetaan yhteysolio alustuksessa ja sen jälkeen tallennettavat parametrit sijoitetaan sen muuttujiin set-metodeilla. Tämän jälkeen kutsutaan tehdyn olion save()-metodia. Tämä metodi luo Database-tason ProductDB-luokasta olion ja antaa sille alustuksessa yhteysolion. Tämän jälkeen kutsutaan juuri luodun olion save-metodia, jolla varsinainen tietokantaan tallennus tehdään. Tapahtuman onnistumisesta tai epäonnistumisesta palautetaan booleantyyppinen tieto käyttöliittymälle asti. Siellä sitten kerrotaan, joko tallennuksen onnistuneen tai vastaavasti epäonnistuneen.

25 4.2.2.4. Tulos Tuloksena tallennuksesta saadaan boolean-tyyppinen tieto sen onnistumisesta, sekä uusi lajike tietokannassa lajike-taulussa. 4.2.2.5. Poikkeustilanteet Tallennus epäonnistuu Database-tasolla => Poikkeuksen taso arvioidaan ExceptionHandler-luokassa ja käyttäjälle ilmoitetaan tapahtuneesta. Virheen tasosta päätellään suljetaanko ohjelma vai voidaanko toimintaa jatkaa. 4.2.2.6. Sekvenssikaavio Liittessä 7 on yksinkertaistettuna sekvenssikaavio tapahtumista. 4.2.3. Lajikkeen muokkaus Lajikkeen muokkaukseen käytetään ProductUI-luokkaa. Sitä voidaan myös käyttää lajikkeen lisäykseen, poistamiseen ja selaukseen. 4.2.3.1. Esiehdot ja luokalle alustuksessa annettavat parametrit Lajikkeen muokkauksessa käytetään samaa luokkaa kuin lajikkeen lisäyksessä, sillä erolla, että alustuksessa annetaan tieto siitä, että käyttöliittymä tulee alustaa muokkaus-tilaan ja lisäksi annetaan sen lajikkeen tunnistenumero (mikä lajikkeella on tietokannassa), jonka tiedoilla halutaan alustaa käyttöliittymän komponentit. 4.2.3.2. Päivitettävät parametrit Parametrit ovat samat kuin lisäyksessä (luku 4.2.2.2).