Toteutettu yhteistyössä Elintarviketeollisuusliitto ry:n ja Päivittäistavarakauppa ry:n kanssa osana maa- ja metsätalousministeriön kansallista elintarviketalouden laatustrategiaa Sanomasuositus ja sen yleinen soveltamisohje Toimitustieto: Lähetysluettelo ja kuormakirja FI1008, 2007-03-21 Käyttö: Kaupan toimiala Sanasto: UBL Versio: 2.0 Sanoma: DespatchAdvice
Sisällysluettelo 1 Dokumenttien hallinta... 3 1.1 Päivitykset... 3 1.2 Esitietovaatimukset... 3 1.3 Aiheeseen liittyvä aineisto... 3 1.4 Huomioitavaa... 3 1.5 Soveltamisohjeen lukuohje... 3 1.6 Lyhenteet ja termit... 4 2 Johdanto... 4 2.1 Soveltamisohjeen perusteet, tarkoitus ja käyttö... 4 2.2 Soveltamisohjeen sisältö... 4 2.2.1 Tekniset määritykset... 4 2.2.2 Kooste-elementtien esittämistapa... 4 2.2.3 Graafisten kuvausten merkinnät... 5 2.2.4 Soveltamisohjeessa käytetyt attribuutit... 5 3 Sanomamääritys... 5 3.1 Katettava skenaario... 7 3.1.1 Reunaehdot... 7 3.2 Toimialakohtaiset laajennukset... 8 3.2.1 Rivitason laajennukset... 8 3.3 Sanoman otsikkotaso... 9 3.4 Sanoman rivitaso... 11 3.5 Sanomakohtaiset kooste-elementit... 12 3.5.1 Lähetyserä (Shipment)... 12 4 Sanomaesimerkki... 13 4.1 XML esimerkki... 13
1 Dokumenttien hallinta Tämä dokumentti sisältää sanomakuvauksen ja soveltamisohjeen UBL 2.0 -versioon perustuvan DespatchAdvice -sanomaformaatin käyttämiseksi toimitustietona (lähetysluettelo tai kuormakirja) kaupan toimialalla. Tätä dokumenttia ei tule käsitellä itsenäisenä kokonaisuutena vaan yhdessä komponenttikirjaston kanssa. 1.1 Päivitykset Pvm/Laatija 2007-03-21 Juha Ikävalko Muutokset Ensimmäinen versio 1.2 Esitietovaatimukset Soveltamisohje soveltuu sekä johto- että asiantuntijatason käyttöön. Soveltamisohjeen teknisen taustan ymmärtämistä edesauttaa seuraavien aihealueiden tuntemus: XML, UBL ja ebxml ydinkomponentit. 1.3 Aiheeseen liittyvä aineisto Komponenttikirjasto ebxml Core Components Technical Specification (CCTS) 2.01 Universal Business Language 2.0 UBL sanomien laajennusohje (TIEKE) NES työryhmä (www.nesubl.eu) NES-työryhmä on yhteistyöelin, jonka tavoitteena on edistää maidenvälistä tiedonvälitystä. Vuonna 2006 työryhmässä oli mukana edustajia seuraavista maista: Tanska, Ruotsi, Norja, Islanti, Iso-Britannia ja Suomi. 1.4 Huomioitavaa Soveltamisohje perustuu UBL 2.0 spesifikaatioon. Määrityksissä on noudatettu kansainvälisen NES työryhmän suosituksia sanomien tietosisällön ja käytön osalta. Tämä soveltamisohje valmistui ennen NES määritysten lopullista julkaisuajankohtaa, minkä seurauksena määrityksissä saattaa esiintyä joitain eroavaisuuksia. Kansainvälisen yhteentoimivuuden kannalta on tärkeää noudattaa NES-ohjeistuksia mm. osapuoli-, vero-, toimitus- ja maksamistietojen esittämistavasta. Ohjeistukset löytyvät NES:in kotisivuilta. 1.5 Soveltamisohjeen lukuohje Kappaleessa 2 Johdanto käsitellään lyhyesti tämän soveltamisohjeen tarkoitus, sisältö ja esittämistapa. Kappaleessa 3 Sanomamääritys osiossa kukin sanoman kooste-elementti (ABIE) on esitetty omana kappaleenaan. Kappaleessa 4 "Sanomaesimerkki on havainnollistettu sanoman rakennetta esittämällä XML- esimerkki sanoman minimitietosisällöstä. 3/14
1.6 Lyhenteet ja termit Lyhenteet ja termit on kuvattu komponenttikirjaston vastaavassa kappaleessa. 2 Johdanto 2.1 Soveltamisohjeen perusteet, tarkoitus ja käyttö Perusteena työn tekemiselle oli kansallisen suosituksen luominen, joka ehkäisisi yhteentoimimattomien standardien syntymistä ja laskisi näin liiketoimintaprosessien integrointikustannuksia. Tavoitteena on myös nopeuttaa uuden tiedonsiirtotavan omaksumista kansainvälisen kilpailukyvyn säilyttämiseksi ja parantamiseksi. Soveltamisohje on tarkoitettu apuvälineeksi uusien kauppakumppanien välisiin neuvotteluihin sekä pohjaksi mahdollisten kumppanikohtaisten soveltamisohjeiden laatimisille. 2.2 Soveltamisohjeen sisältö 2.2.1 Tekniset määritykset Tekniset määritykset on kuvattu komponenttikirjaston johdanto-osassa. 2.2.2 Kooste-elementtien esittämistapa Kappaleeseen 3 Sanoman rakenne esitellään tälle sanomalle spesifit kooste-elementit omina kappaleinaan. Tässä kappaleessa kuvataan kooste-elementtien esittämistapa. Kukin kappale on otsikoitu kooste-elementin nimen mukaisesti. Mikäli kooste-elementti sisältää viittauksia muihin kooste-elementteihin (ASBIE), on nämä esitetty kyseisen kappaleen alaotsikkoina. Kunkin otsikon alla on notaatio tai notaatiot, jotka ilmaisevat, mitkä ovat kyseisen koosteelementin mahdolliset käyttökohteet. Esimerkiksi notaatio Address.Country ilmaisee, että kooste-elementti Country tiedot voidaan esittää Address kooste-elementin alla. XMLsyntaksina tämä vastaa rakennetta: <Address> <Country> </Country> </Address> Käyttökohteiden jälkeen on tarvittaessa kappale, joka selventää kooste-elementin käyttöä sanomalla. Tätä seuraa kuva kooste-elementin standardimuotoisesta rakenteesta sisältäen myös tiedot, joita ei ole otettu osaksi tämän soveltamisohjeen rajaamaa sanoman tietosisältöä. Kuvan alla on taulukko, jossa on listattu kooste-elementin osat, joita soveltamisohjetyössä on nähty katettavan käyttötarpeen osalta tarvittavan. Listaan on sisällytetty myös mahdolliset lisäykset, jotka on räätälöity osaksi sanomamääritystä. Käytettävät elementtien attribuutit on esitetty taulukossa muodossa ELEMENTIN_NIMI[@ATTRIBUUTIN_NIMI]. Jotta erityyppiset taulukon rivit erottuisivat toisistaan, on taulukkoon lisätty Tyyppi sarake, jonka mahdollisia arvoja ovat: Tyyppi BBIE Kuvaus (Basic Business Information Entity) on UBL/CCTS termi, joka ilmaisee kyseessä olevan yksinkertaisen tietoelementin, jolla ei ole sisäistä rakennetta. Tällaisia ovat esimerkiksi tunniste-, koodi- ja päivämäärätiedot. 4/14
ATTR ASBIE (Attribute) ilmaisee, että kyseessä on BBIE - tietoelementin tarkenne. Esimerkiksi notaatio ID[@schemeID] ilmaisee schemeid:n olevan ID tietoelementin tarkenne. Tarkenne esitetään sanomalla XML - elementin attribuuttina. (Association Business Information Entity) on UBL/CCTS termi, joka ilmaisee, että kyseessä on viittaus toiseen kooste-elementtiin eli tietoelementtiin, jolla on sisäinen rakenne. Tällaisia ovat esimerkiksi osapuoli- ja osoitetiedot. Attribuuttien osalta Toisto sarake ilmaisee, montako kertaa ko. attribuutti toistuu sen sisältävää elementtiä kohden eli käytännössä, onko se kyseisen elementin suhteen pakollinen vai vapaaehtoinen. Taulukon alla on listattu niiden koodien (Code) ja tunnisteiden (ID) arvot, joille on yleisesti sovittu merkintätapa. Pääosin näitä listoja käytetään elementtien tietosisällön tarkentamiseen eli teknisellä tasolla elementtien attribuuttien arvojen määrittämiseen. Käytettävien koodien osalta on pyritty seuraamaan NES - työryhmän suosituksia. Käytössä on sekä ISO, UN/ECE ja NES koodilistoja, joita on tarpeen vaatiessa täydennetty kotimaisilla Z-koodeilla. 2.2.3 Graafisten kuvausten merkinnät Sanoman eri tasot on kuvattu tietosisältöä visuaalisesti havainnollistavalla mallilla, jona on käytetty <oxygen/> XML editorin pyykkinaru kuvaa elementtien suhteista. Tässä on listattu mallissa käytettyjen notaatioiden määritelmät: Notaatio blankko Määritelmä Pakollinen, esiintyy yhden kerran 0..1 Ei pakollinen, mutta voi esiintyä vain kerran 1.. Elementin tulee esiintyä vähintään kerran ja se voi esiintyä useita kertoja. 0.. Elementin käyttö on vapaaehtoista, mutta se voi esiintyä useita kertoja. 2.2.4 Soveltamisohjeessa käytetyt attribuutit Soveltamisohjeessa käytetyt attribuutit on kuvattu komponenttikirjaston johdanto-osassa. 3 Sanomamääritys Kappaleessa käsitellään tällä soveltamisohjeella katettava skenaario sekä UBL sanoman rakenne, jonka esittämistapa on kuvattu kappaleessa 2.2.2 Kooste-elementtien esittämistapa. Seuraava UML - luokkamalli kuvaa toimitustiedon yleisen rakenteen. Kuva ei sisällä kaikkia sanomaan sisältyviä tietoja vaan ainoastaan ne, jotka ovat sanoman rakenteen ymmärtämisen kannalta keskeisiä. Kuvassa on toimialakohtainen laajennus korostettu punaisella taustavärillä. 5/14
Yllä olevasta kuvasta on seuraavaan kuvaan poimittu rakenne, joka on keskeinen kuormakirjan osalta. Pakkaushierarkia ja siihen liittyvät mitat ja painot kuvataan lähetyserän tiedoissa (Shipment) sanoman otsikkotason alla. Sanoman rivitasolta (DespatchLine) ainoastaan viitataan otsikkotasolla esitettyyn pakkausrakenteeseen välittämällä niiden kollien ja pakkausten tunnisteet, joihin rivillä toimitettavat tuotteen on pakattu. Lisäksi pakkaustasolla kohdassa DespatchLine.Shipment.TransportHandlingUnit.Package.Quantity on mahdollista ilmoittaa, kuinka suuri määrä toimitustietorivin tuotteista sisältyy kyseiseen pakkaukseen. 6/14
3.1 Katettava skenaario Tällä soveltamisohjeella pyritään kattamaan elintarviketeollisuuden ja keskusliikkeiden sekä myymälöiden välisten sähköisten toimitustietojen tietosisältötarpeet EU:n sisäisessä kaupankäynnissä. Toimitustietosanoma on tarkoitettu toimittajan ilmoitukseksi vastaanottajalle, kun toimitettavat tuotteet tai palvelut ovat toimittajan puolesta valmiit. Perinteisessä paperimenettelyssä toimitustieto on usein toimitettu vastaanottajalle tavaran mukana, mutta OVT - toiminnassa toimitustieto lähetetään yleensä silloin, kun tavaran toimittaja on koonnut vastaanottajalle toimitettavan toimitus-erän. Koska näissä tapauksissa toimitustieto on perillä ennen tavaraa, voidaan toimitustiedon tietoja käyttää mm. myynnin tai varastoinnin suunnittelun pohjana. Sanomaa ei ole tarkoitettu (kuljetustapahtuman) rahtikirjaksi. Toimitustietosanomalla voidaan tarvittaessa korvata tilausvahvistus, jos toiminnan nopearytmisyyden seurauksena tämä on välttämätöntä. Tulee kuitenkin huomioida, että tällöin joudutaan käyttämään toimialakohtaista laajennusta korvaavuuksiin liittyvien koodin käyttämiseksi. Toimitustietosanomalla pystytään antamaan pakkausten yksityiskohtainen sisältö ja niihin tehdyt merkinnät, jolloin viivakoodien tai RFID tunnisteiden avulla tapahtuva vastaanottotarkastus on mahdollinen. On todennäköistä, että määriteltyä sanomarakennetta voidaan käyttää sellaisenaan myös suurella osalla muuta kaupan toimialaa. 3.1.1 Reunaehdot Tuotteilla on standardoitu tuotetunniste (EAN/GTIN) ja osapuolten välillä on olemassa oleva puitesopimus, joka kattaa kaupalliset ehdot. 7/14
3.2 Toimialakohtaiset laajennukset 3.2.1 Rivitason laajennukset Elementti Tyyppi Toisto Kuvaus SubstitutionStatusCode BBIE 0..1 Korvaavuuskoodi Price ASBIE 0..n Hintatiedot Tilanteissa, joissa myyjä joutuu muuttamaan tai ei pysty toimittamaan alkuperäistä tilausriviä, ilmaistaan syy tällä koodilla. Korvaavuuskoodi tulisi välittää standardin mukaan välittää tilausvahvistuksella. Sallitut koodit on siten listattu tilausvahvistuksen soveltamisohjeessa. Käytetään hinnoitellun toimitustietosanoman yhteydessä. Veroton bruttoyksikköhinta: ennakkotietona myyjän ostajalta perimä veroton bruttoyksikköhinta Vähittäismyyntihinta: ennakkotietona vähittäismyyntihinta myymälälle 8/14
3.3 Sanoman otsikkotaso Sanoman otsikkotasolla välitetään koko dokumenttia koskevat tiedot, kuten dokumentin tunniste ja päiväys. Elementti Tyyppi Toisto Kuvaus UBLVersionID BBIE 1 UBL versio UBL versio, johon sanoman rakenne perustuu. Tämän soveltamisohje perustuu UBL 2.0 versioon, joten sanomissa käytetään tekstiä 2.0 CustomizationID BBIE 0..1 Räätälöintitunniste ProfileID BBIE 0..1 Profiilitunniste Yksilöi käyttäjäryhmän, jonka tarpeisiin UBL-sanoma on räätälöity. Yksilöi profiilin, johon tämä sanoma liittyy. 9/14
ID BBIE 1 Toimitustiedon yksilöivä tunniste IssueDate BBIE 1 Toimitustiedon päiväys Toimitustiedon luontipäivämäärä lähettäjän järjestelmässä IssueTime BBIE 0..1 Toimitustiedon kellonaika Toimitustiedon luontikellonaika lähettäjän järjestelmässä DespatchAdviceTypeCode BBIE 1 Toimitustietosanoman tyyppikoodi Note BBIE 0..n Lisätiedot OrderReference ASBIE 0..1 Tilausviite Käytetään UBL:n mukaisesti UN/ECE 1001 koodistoa. Sallitut koodit on listattu alla. Toimitustietoon liittyvät lisätiedot, joita ei voida esittää muualla sanoman rakenteessa. Vain yksi lisätietokenttä per kieli. Tilausviite välitetään otsikkotasolla, mikäli toimitustietoon liittyy vain yksi tilaus. On kuitenkin suositeltavaa antaa tilausviite aina myös rivitasolla. AdditionalDocumentReference ASBIE 0..n Lisäliitteen- tai viitteen tiedot Toimitustietoon liittyvä liite ja viite, jota ei voida esittää muualla sanoman rakenteessa. DespatchSupplierParty ASBIE 1 Lähettäjän osapuolitiedot DeliveryCustomerParty ASBIE 1 Lähetyksen vastaanottajan osapuolitiedot BuyerCustomerParty ASBIE 0..1 Ostajan osapuolitiedot Shipment ASBIE 1 Lähetyserän tiedot Annetaan vain mikäli ostajaosapuoli on eri kuin lähetyksen vastaanottajaosapuoli. Lähetyserän toimitukseen liittyvät tiedot sekä kuormakirja tyyppisellä toimitustietosanomalla pakkaushierarkian erittely. DespatchLine ASBIE 1..n Toimitustietorivin tiedot 10/14
DespatchAdviceTypeCode koodit: [UN/ECE 1001]: Koodi Kuvaus 271 Kuormakirja Välitetään toimittajalta terminaalille kollitasolla, ei sisällä tarkkoja tuotetietoja. 351 Lähetysluettelo Välitetään toimittajalta ostajalle sisältäen tarkat tuotetiedot, ei kollitason tietoja. ZHL Hinnoiteltu lähetysluettelo Välitetään toimittajalta ostajalle sisältäen tarkat tuote- ja hintatiedot, ei kollitason tietoja. 3.4 Sanoman rivitaso Elementti Tyyppi Toisto Kuvaus ID BBIE 1 Toimitustietorivin tunniste Note BBIE 0..1 Lisätiedot DeliveredQuantity BBIE 1 Toimitettu määrä Toimitustietoriviin liittyvät lisätiedot, joita ei voida esittää muualla toimitustietorivin rakenteessa. Toimitettu määrä laskutusyksikössä OutstandingQuantity BBIE 0..1 Tilatun ja toimitetun määrän erotus (toimittamaton määrä) Toimitetun määrän vajaus suhteessa tilattuun 11/14
määrään. Sovittava kumppanikohtaisesti aiheutuuko vajauksesta jatkotoimenpiteitä. OversupplyQuantity BBIE 0..1 Tilatun ja toimitetun määrän erotus (ylitoimitettu määrä) OrderLineReference ASBIE 1 Tilausriviviite Ylitoimitettu määrä suhteessa tilattuun määrään. Sovittava kumppanikohtaisesti aiheutuuko ylijäämästä jatkotoimenpiteitä. DocumentReference ASBIE 0..n Lisäliitteen- tai viitteen tiedot Item ASBIE 1 Nimikkeen tiedot Shipment ASBIE 0..1 Lähetyserän tiedot Tilaukseen liittyvä liite ja viite, jota ei voida esittää muualla sanoman rakenteessa. Käytetään ainoastaan kuormakirja tyyppisellä toimitustietosanomalla viittaamaan kolleihin ja pakkauksiin, joihin kyseisen rivin nimikkeet on pakattu. 3.5 Sanomakohtaiset kooste-elementit Sanomaan sisältyvät kooste-elementit, joita käytetään sellaisenaan myös muissa sanomissa, on listattu omassa dokumentissaan komponenttikirjasto. Tähän kappaleeseen on koottu ne kooste-elementit, joiden sisältöä on rajattu tai tarkennettu suhteessa näihin määrityksiin. 3.5.1 Lähetyserä (Shipment) Käyttökohde: DespatchAdvice.DespatchLine.Shipment Sanoman otsikkotasolla käytetään komponenttikirjaston mukaista rakennetta. Seuraavassa on kuvattu lähetyserän tiedot sanoman rivitasolla: Elementti Tyyppi Toisto Kuvaus ID BBIE 1 Toimituserän yksilöivä tunniste Consignment ASBIE 1 Lähetyserän tiedot Delivery ASBIE 0..1 Toimitustiedot Välitetään vain standardin mukaan pakollinen tunnistetieto. Käytetään tarvittaessa yksilöidyn toimituspaikkatiedon, kuten hyllytysohjeen välittämiseen (Delivery.DeliveryLocation.ID) 12/14
TransportHandlingUnit ASBIE 0..n Kuljetuspakkausten (kollien) tiedot Käytetään kuormakirja tyyppisellä sanomalla määrittämään, mihin kolleihin ja pakkauksiin kyseisen toimitusrivi on pakattu. Välitetään vain kollin ja pakkauksen tunniste sekä tarvittaessa pakkaukseen sisältyvä määrä tämän toimitusrivin tuotetta. Kollien ja pakkausten hierarkia ja yksityiskohdat on määritetty otsikkotasolla kohdassa (Order.Shipment). 4 Sanomaesimerkki Tässä kappaleessa on XML esimerkki toimitustiedon minimitietosisällöstä. Tämä ei välttämättä vastaa sanoman kaupallista minimitietosisältö vaan kyseessä on esimerkki, mitä tietoja tulee sisältyä jokaiseen toimitustietosanomaan asianyhteydestä riippumatta. Kattavampi XML esimerkki on esitetty erillisessä tiedostossa. 4.1 XML esimerkki <?xml version="1.0" encoding="utf-8"?> <DespatchAdvice xmlns="urn:oasis:names:specification:ubl:schema:xsd:despatchadvice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:commonaggregatecomponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:commonbasiccomponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:qualifieddatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:draft:unqualifieddatatypesschemamodule:2" xmlns:ccts="urn:oasis:names:specification:ubl:schema:xsd:corecomponentparameters-2"> <cbc:ublversionid>2.0</cbc:ublversionid> <cbc:id>toimitustietosanoman_tunniste</cbc:id> <cbc:issuedate>toimitustietosanoman_päiväys</cbc:issuedate> <cbc:despatchadvicetypecode> TOIMITUSTIETOSANOMAN_TYYPPIKOODI </cbc:despatchadvicetypecode> <cac:despatchsupplierparty> <cac:party> <cac:partyidentification> <cbc:id schemeid="tunnistejärjestelmän_tunniste">lähettäjän_ovt_tunniste</cbc:id> </cac:partyidentification> <cac:partyname> <cbc:name>lähettäjän_nimi</cbc:name> </cac:partyname> </cac:party> </cac:despatchsupplierparty> <cac:deliverycustomerparty> <cac:party> <cac:partyidentification> <cbc:id schemeid="tunnistejärjestelmän_tunniste"> TOIMITUKSEN_VASTAANOTTAJAN_OVT_TUNNISTE </cbc:id> </cac:partyidentification> <cac:partyname> <cbc:name>toimituksen_vastaanottajan_nimi</cbc:name> </cac:partyname> </cac:party> </cac:deliverycustomerparty> 13/14
<cac:buyercustomerparty> <cac:party> <cac:partyidentification> <cbc:id schemeid="tunnistejärjestelmän_tunniste">ostajan_ovt_tunniste</cbc:id> </cac:partyidentification> <cac:partyname> <cbc:name>ostajan_nimi</cbc:name> </cac:partyname> </cac:party> </cac:buyercustomerparty> <cac:shipment> <cbc:id>id_not_available</cbc:id> <cac:consignment> <cbc:id>id_not_available</cbc:id> </cac:consignment> <cac:delivery> <!-- Toimitusosoite --> <cac:deliverylocation> <cac:address> <cbc:streetname>katuosoite</cbc:streetname> <cbc:cityname>postitoimipaikka</cbc:cityname> <cbc:postalzone>postinumero</cbc:postalzone> <cac:country> <cbc:identificationcode>iso3166-1_maakoodi</cbc:identificationcode> </cac:country> </cac:address> </cac:deliverylocation> </cac:delivery> </cac:shipment> <cac:despatchline> <cbc:id>toimitustietorivin_tunniste</cbc:id> <!-- Toimitus- ja laskutusyksikön tulee olla samat --> <cbc:deliveredquantity unitcode="toimitusyksikkö"> TOIMITETTU_MÄÄRÄ </cbc:deliveredquantity> <cac:orderlinereference> <cbc:lineid>ostajan_tilausriviviite</cbc:lineid> <cbc:salesorderlineid>myyjän_tilausriviviite</cbc:salesorderlineid> <cac:orderreference> <cbc:id>tilausviite</cbc:id> </cac:orderreference> </cac:orderlinereference> <cac:item> <cbc:name>tuotteen_nimi</cbc:name> <cac:standarditemidentification> <cbc:id schemeid="tunnistejärjestelmän_tunniste"> TOIMITETUN_MÄÄRÄN_MUKAINEN_EAN_TUNNISTE </cbc:id> </cac:standarditemidentification> </cac:item> </cac:despatchline> </DespatchAdvice> 14/14