Peppol on kansainvälinen avoin B2B-verkko, jonka avulla organisaatiot voivat vaihtaa tehokkaasti strukturoituja liiketoiminta-asiakirjoja, kuten tilauksia ja laskuja.
Peppolin teknisten eritelmien ja toteutusprosessin ymmärtäminen on ratkaisevan tärkeää, jotta kehittäjät voivat rakentaa vankkoja järjestelmiä, jotka parantavat organisaation tehokkuutta. Tässä oppaassa esitetään keskeiset käsitteet ja tekniset ohjeet, joiden avulla kehittäjät voivat aloittaa sähköisten tilausten tekemisen Peppolin avulla.
Mikä on Peppol?
Peppol (Pan-European Public Procurement Online) on kehys, joka standardoi yritysten ja julkisten organisaatioiden välisen sähköisen asiakirjojen vaihdon. Se ei ole toiminnanohjausjärjestelmä, portaali tai hankinta-alusta vaan protokolla, joka mahdollistaa eri järjestelmien välisen yhteentoimivuuden.
Peppol käyttää neljän nurkan mallia, mikä tarkoittaa, että kukin organisaatio liittyy verkkoon valitsemansa Peppol Access Point -palveluntarjoajan kautta, jolloin palveluntarjoajien ja liikekumppaneiden yhteensovittaminen ei ole enää tarpeen.
Peppolin tärkeimmät ominaisuudet ovat:
- Standardointi: Yhteinen kieli liiketoiminta-asiakirjoille eri toimialoilla.
- Yhteentoimivuus: Yhteentoimivuus: Järjestelmien välinen yhteensopivuus maailmanlaajuisesti.
- Skaalautuvuus:
Peppol tarjoaa kehittäjille kehyksen, jonka avulla voidaan integroida strukturoitu sähköinen tilausten käsittely olemassa oleviin liiketoimintaprosesseihin.
Aloittaminen Peppol-tilauksen kanssa
Sähköisten tilausten toteuttaminen Peppol-järjestelmässä edellyttää sen yhteentoimivuusvaatimusten (Business Interoperability Specifications, BIS), sanomasyntaksin ja tiedonvaihtovaatimusten ymmärtämistä.
Seuraavassa kuuden keskeisen vaiheen ja niiden teknisten näkökohtien erittely.
1. Peruselementtien ymmärtäminen
Peppol-laskuja toteuttavien kehittäjien on ymmärrettävä, miten cbc-elementit täytetään oikein Peppolin BIS-ohjeiden mukaisesti, jotta varmistetaan asiakirjojen vaatimustenmukaisuus ja onnistunut lähetys.
Peppolissa ja laskujen UBL-syntaksissa (Universal Business Language) cbc tarkoittaa Common Basic Components (yhteiset peruskomponentit). Nämä UBL-skeeman ennalta määritellyt tietoelementit edustavat liiketoiminta-asiakirjojen, kuten laskujen, tilausten ja lähetysilmoitussanomien, perustavia, uudelleenkäytettäviä rakennuspalikoita.
cbc-elementtien tärkeimmät ominaisuudet
- Yksinkertaiset tietotyypit: cbc-elementit ovat tyypillisesti atomisia ja edustavat yksinkertaisia tietoja, kuten tekstiä, numeerisia arvoja, päivämääriä tai koodeja.
- Perustiedot: Ne keräävät olennaisia, yksinkertaisia tietoja, kuten tunnisteita, päivämääriä, rahamääriä tai kuvauksia.
- Uudelleenkäytettävyys: Nämä komponentit on suunniteltu uudelleenkäytettäviksi eri UBL-dokumenttityypeissä.
2. Valitse Peppol BIS -profiili tilauksia varten
Peppol tukee kolmea ensisijaista määrittelyä, joita kutsutaan myös profiileiksi, tilausprosesseja varten. Kukin BIS on suunniteltu tiettyjä käyttötapauksia varten, ja liikekumppaneiden on sovittava, mitä niistä käytetään.
BIS Order Only: Yksinkertaisia tilauksia varten ilman toimittajan vastausta.
BIS Ordering: Sisältää tilausvastaukset, joilla vahvistetaan hyväksyminen, hylkääminen tai osittainen hyväksyminen.
BIS Despatch Advice: Ilmoittaa ostajalle lähetyksen yksityiskohdista.
3. Ymmärtää Peppolin järjestyksen syntaksi
Peppol-tilaustapahtuma (T01) noudattaa seuraavaa UBL (Universal Business Language) standardia.
Jotta Peppol voidaan ottaa tehokkaasti käyttöön, kehittäjien on ymmärrettävä perusteellisesti, miten cbc-elementit täytetään Peppolin BIS-ohjeiden mukaisesti, jotta varmistetaan sekä vaatimustenmukaisuus että sujuva siirto. Kaikkien asiakirjaelementtien vaaditun syntaksin noudattaminen on olennaisen tärkeää, sillä poikkeamat Peppolin validointisäännöistä voivat johtaa virheisiin, jotka häiritsevät tilausprosessia.
Seuraavassa on muutamia esimerkkejä tilausasiakirjojen keskeisistä elementeistä:
UBL-elementti | Kuvaus |
cbc:ID | Yksilöllinen tilauksen tunniste. |
cbc:OrderTypeCode | Määrittää tilauksen tyypin, esimerkiksi ostotilauksen. |
cbc:DocumentCurrencyCode (asiakirjan valuuttakoodi) | Ilmaisee valuutan (esim. "EUR"). |
cac:ValidityPeriod | Ilmoittaa tilauksen voimassaolon päättymispäivän. |
Cbc-elementtien ominaisuudet
Tietojen esittäminen: cbc-elementit edustavat tyypillisesti yksittäisiä tietokenttiä, joten niitä on helppo käyttää ja validoida.
Attribuutit: Jotkin cbc-elementit sisältävät attribuutteja, kuten currencyID (määrien osalta) tai unitCode (määrien osalta).
Pakollinen/valinnainen: Peppol BIS (Business Interoperability Specification) -ohjeissa määritellään, mitkä cbc-elementit ovat pakollisia, valinnaisia tai ehdollisesti vaadittuja.
Vertailu cac:iin (Common Aggregate Components).
cbc edustaa peruskomponentteja, mutta cac (Common Aggregate Components) on monimutkaisia tietorakenteita, jotka ryhmittelevät toisiinsa liittyviä cbc- ja muita cac-elementtejä. Esimerkiksi cac:Party ryhmittelee kaikki liiketoimintayksikköä koskevat tiedot, kuten sen nimen, osoitteen ja tunnukset.
Lisätietoja Peppol UBL:n tilaamisessa käytettävistä erityisistä cbc-elementeistä on Peppolin virallisessa dokumentaatiossa osoitteessa BIS Ordering .
3. Integroi Peppol Access Pointin kanssa
Peppol-tapahtumat jaetaan sertifioitujen Peppol-yhteyspisteiden, joita kutsutaan myös Peppol-palveluntarjoajiksi. Kehittäjänä sovelluksesi on muodostettava yhteys palveluntarjoajan sovellusliittymään asiakirjojen lähettämistä ja vastaanottamista varten. Liityntäpisteet hoitavat teknisesti monimutkaiset tehtävät, jotka liittyvät viestien reitittämiseen kauppakumppaneille ja kauppakumppaneilta.
Lisätietoja Peppolin tilausten käyttämisestä Order API:n kautta.
4. Validoinnin ja virheenkäsittelyn toteuttaminen
Validoinnilla varmistetaan Peppolin sääntöjen ja BIS-vaatimusten noudattaminen. Ota käyttöön vankat validointitarkistukset virheiden tunnistamiseksi ennen lähetystä. Tarkista esimerkiksi seuraavat pakolliset kentät cbc:ID
ja cbc:DocumentCurrencyCode
. Validoi tietomuodot, mukaan lukien päivämäärät, valuutat ja tunnisteet.
Qvalian Peppol Access Pointin käyttäjille formaatin validointi on sisäänrakennettu ja automatisoitu.
5. Testaa hiekkalaatikkoympäristössä
Ennen ratkaisun käyttöönottoa testaa integrointi Access Point -palveluntarjoajan tarjoamassa hiekkalaatikkoympäristössä. Näin voit simuloida erilaisia skenaarioita, kuten tilausten lähettämistä, vastausten vastaanottamista ja lähetysilmoitusviestien hallintaa.
Tekniset oivallukset: Peppol-tilausten rakenne
Peppol-tilaukset perustuvat XML-pohjaisiin UBL-skeemoihin. Alla on lyhyt katsaus tilauksen rakenteen kriittisiin elementteihin:
Asiakirjan otsikko
Otsikko sisältää kriittisiä metatietoja tilauksesta.
UBL-elementti | Kuvaus |
<cbc:ID> | Tilausasiakirjan yksilöllinen tunniste (esim. "1234567"). |
<cbc:IssueDate> | Tilausasiakirjan myöntämispäivä (esim. "2024-08-14"). |
<cbc:OrderTypeCode> | Ilmaisee tilauksen tyypin, jossa '220' tarkoittaa yleensä ostotilausta. |
<cbc:DocumentCurrencyCode> | Määrittää tilausasiakirjassa käytetyn valuutan (esim. "EUR"). |
Ostajan ja myyjän tiedot
Ostaja ja myyjä määritellään käyttämällä cac:BuyerCustomerParty- ja cac:SellerSupplierParty-segmenttejä.
UBL-elementti | Kuvaus |
<cac:BuyerCustomerParty> | Edustaa ostajaa tapahtumassa, ja sisältää tietoja asiakasosapuolesta. |
<cac:Party> | Antaa tietoja ostajan osapuolesta, kuten tunnisteita ja nimiä. |
<cbc:EndpointID schemeID=”0088″> | Ostajan sähköinen osoite, jossa 'schemeID' määrittää tunnisteen tyypin (esim. tässä tapauksessa 'GLN'). |
<cac:PartyName> | Sisältää ostajan toiminimen. |
<cbc:Name> | Määrittää ostajan nimen (esim. "Ostajan nimi"). |
Tilausrivit
Kullakin tilausrivillä määritetään nimikkeet, määrät ja hinnat.
UBL-elementti | Kuvaus |
<cac:OrderLine> | Edustaa tilauksen yksittäistä riviä, joka sisältää tiedot tuotteesta ja sen määrästä. |
<cbc:ID> | Tilausrivin yksilöllinen tunniste (esim. "1"). |
<cbc:Quantity unitCode=”EA”> | Määrittää tilausrivin nimikkeiden määrän, jossa "unitCode" määrittelee mittayksikön (esim. "50" yksikköä, mitattuna "Each"). |
<cac:Item> | Sisältää tietoja tilatusta tuotteesta. |
<cbc:Name> | Tuotteen nimi tai kuvaus (esim. "Tuotteen nimi"). |
<cac:SellersItemIdentification> | Antaa kohteen myyjän tunnisteen. |
<cbc:ID> | Myyjän yksilöllinen tunniste tuotteelle (esim. "87654321"). |
Edistyneet ominaisuudet: Lähetysilmoitusasiakirjat
BIS Despatch Advice -eritelmän avulla toimittajat voivat ilmoittaa ostajille lähetyksen yksityiskohdat.
Viesti voi sisältää:
UBL-elementti | Kuvaus |
<cac:DespatchAdvice> | Juurielementti, joka edustaa koko lähetysilmoitusasiakirjaa ja jota käytetään lähetyksen yksityiskohtien ilmoittamiseen vastaanottajalle. |
<cbc:ID> | Despatch Advice -asiakirjan yksilöllinen tunniste (esim. "654321"). |
<cbc:IssueDate> | Despatch Advice -asiakirjan antamispäivä (esim. "2024-08-20"). |
<cac:Delivery> | Sisältää tiedot lähetyksen toimittamisesta. |
<cac:DeliveryLocation> | Määrittää paikan, johon lähetys toimitetaan. |
<cbc:ID> (sisällä DeliveryLocation) | Toimituspaikan yksilöllinen tunniste (esim. 'Warehouse ID'). |
<cbc:Name> | Toimituspaikan nimi (esim. "Varaston nimi"). |
Parhaat käytännöt kehittäjille
Noudata Peppolin BIS-ohjeita:
Paikallisten vaihteluiden käsittely.Paikallisten vaihteluiden käsittely: Vaikka Peppol on maailmanlaajuinen standardi, jotkin alat tai alueet saattavat vaatia erityisiä mukautuksia.
Automatisoi validointi: Toteuta automatisoidut tarkistukset syntaksin ja sisällön vaatimustenmukaisuuden varmistamiseksi ennen lähetystä.
Suojaa tiedot: Varmista, että kaikki siirrettävät tiedot ovat GDPR:n ja muiden tietosuojasäännösten mukaisia.
Peppol tarjoaa vankan kehyksen sähköisille tilauksille, minkä ansiosta yritykset voivat tehostaa toimintojaan ja parantaa tietojen tarkkuutta. Kehittäjille Peppol BIS:n, UBL-skeemojen ja Access Point -integraation teknisten eritelmien ymmärtäminen on tärkeää skaalautuvien ja tehokkaiden ratkaisujen luomisessa.