Muutosloki:
5.1.2023
· Päivitetty muutokset factoring vaihtoehtoihin.
10.9.2021
· Tiliöintiehdotus (PROPOSED_PURCHASE_ACCOUNT) -elementin lisäys rajapintaan ja kuvaukseen.
17.8.2021
· Vakioviesti (DEFAULT_MESSAGE) -elementin poistaminen kuvauksista. Kentässä tuotava teksti ei välity Talenomin järjestelmään.
15.1.2021
· Asiakkaan nimen (PAYER / NAME) merkkimäärärajoituksen kasvattaminen 45 merkkiin.
· Tuotenumeron (PRODUCT_NUMBER) merkkimäärärajoituksen kasvattaminen 30 merkkiin.
· Requestin maksimikoon kasvattaminen 4 mt -> 8 mt.
16.9.2020
· Laskutus eri valuutoissa (ORIGINAL_CURRENCY, CUSTOM_EXCHANGE_RATE_TO_EUR)
13.6.2019
· Sähköpostilaskun lähetystapa (EMAIL_SEND_METHOD)
· 0 = linkkinä (oletus), 1 = liitteenä
2.5.2019
· Kasvatettu myyntitilin ja saatavatilin maksimimerkkimäärä 6:een merkkiin.
7.2.2019
· Lisätty asiakastyypin (CUSTOMER_TYPE) välittyminen.
· 0 = yritysasiakas, 1 = yksityisasiakas.
5.12.2018
· Alennusprosentille (DISCOUNT_PERCENTAGE) tarkistus (alennusprosentti ei saa olla miinusmerkkinen)
3.9.2018
· Lisätty lähetystapoihin sähköpostilaskutus (SHIPMODE, USE_EMAILBILLING, EMAILBILLING_ADDRESS)
9.4.2018
· Lisätty uudet factoring vaihtoehdot: Ropo, Lähirahoitus, Aktia ja AREX
· Lisätty laskuriville paikka Tullin vientikoodille (CN_CODE)
· Dokumentin kosmeettisia muutoksia
· Lisätty paikka muutoslokille
1. YLEISTÄ
Web service tekniikan avulla integroidaan asiakkaan ja Talenomin tietojärjestelmät keskustelemaan sähköisesti. Palvelun avulla asiakas voi käyttää omaa järjestelmäänsä ja vähentää näin ollen Talenom Online -palvelussa tehtävää työtä. Talenom Tietoväylä on tuotenimi, jolla palvelua myydään asiakkaalle.
2. MYYNTILASKUTUS
• Palvelun avulla integroidaan asiakkaan ja Talenomin järjestelmät myyntilaskutuksen osalta kuvan 1 mukaisesti. Asiakas laatii myyntilaskut omassa tietojärjestelmässään, mutta laskujen lähetys ja/tai saatavien seuranta hoidetaan Talenom Online -palvelussa Myyntilaskutus -osiossa, ks. kuva 2.
• Asiakkaan ja Talenomin järjestelmien välille rakennetaan integraatio (Talenom Tietoväylä), jolla laskutiedot siirretään.
• Asiakas voi myös laatia laskuja manuaalisesti Talenom Online -palvelun Myyntilaskutus -osiossa, vaikka integraatio olisikin käytössä.
• Laskut voidaan lähettää loppuasiakkaille Talenomin Myyntilaskutuspalvelulla Myyntilaskutuksen palvelukuvauksen mukaisessa aikataulussa.
• Saatavien seuranta suoritetaan Talenomin Myyntilaskutuspalvelussa Myyntilaskutuksen palvelukuvauksen mukaisesti.
• Asiakas voi toimittaa laskuja integraation kautta milloin tahansa.
3. PALVELUN SIJAINTI JA SOAP-KUTSUT
Myyntilaskun web service löytyy osoitteesta:
https://verkkopalvelu3.talenom.fi:4445/InvoiceService.asmx
SOAP-kutsun rajapintakuvaukset löytyvät osoitteista (tuetaan SOAP 1.1 ja SOAP 1.2 versioita):
https://verkkopalvelu3.talenom.fi:4445/InvoiceService.asmx?op=NewCustomer
https://verkkopalvelu3.talenom.fi:4445/InvoiceService.asmx?op=NewInvoice
https://verkkopalvelu3.talenom.fi:4445/InvoiceService.asmx?op=NewInvoiceFile
4. METODIT
InvoiceService sisältää seuraavat web metodit:
NewInvoice
NewInvoiceFile
NewCustomer
NewInvoice
Lisätään uusi lasku. Laskun tiedot annetaan XML-tiedostossa.
<userName>string</userName>
<userPw>string</userPw>
<xmlInvoice>xml</xmlInvoice>
userName: Talenom-järjestelmän käyttäjätunnus
userPW: Talenom-järjestelmän salasana kryptattuna MD5-algoritmilla
xmlInvoice: Laskun tiedot XML-tiedostona
NewInvoice request -sanoman maksimikoko on 8 megatavua.
NewInvoiceFile
Lisätään uusi lasku sekä laskun liitetiedosto (PDF).
<userName>string</userName>
<userPw>string</userPw>
<byteData>base64Binary</byteData>
Laskun tiedot annetaan XML-tiedostossa, jonka nimi on NewInvoice.xml. XML-tiedosto ja PDF liitetiedosto pakataan zip-tiedostoksi siten että PDF-tiedosto on alikansiossa Attachments. PDF-tiedoston nimi voi olla mikä tahansa, ja nimi kerrotaan XML-tiedostossa elementissä PDF_FILE_NAME.
Zip-tiedoston rakenne:
NewInvoice.xml
Attachments
Attachment.pdf
Pakattu zip-tiedosto lähetetään NewInvoiceFile-metodille byte-taulukkona.
PDF-tiedoston vaatimukset:
- Sivumäärää ei ole rajoitettu, mutta yhden sivun keskimääräinen koko ei saisi olla yli 2000 kilotavua. PDF liitetiedoston koko ei saa olla yli 5 megatavua. Huomiona: NewInvoiceFile -requestin maksimikoko on 8 megatavua.
NewCustomer
Lisätään uusi loppuasiakas / asiakkaat. Asiakkaan tiedot annetaan XML-tiedostossa.
<userName>string</userName>
<userPw>string</userPw>
<xmlCustomer>xml</xmlCustomer>
userName: Talenom-järjestelmän käyttäjätunnus
userPW: Talenom-järjestelmän salasana kryptattuna MD5-algoritmilla
xmlCustomer: Loppuasiakkaiden tiedot XML-tiedostona
5. XML TIEDOSTORAKENTEET
NewInvoice XML-tiedoston rakenne
Alla olevassa taulukossa on kirjoitettu auki XML-skeeman kuvaus (UusiLasku.xsd) .Sama XML-kuvaus on käytössä sekä NewInvoice- että NewInvoiceFile –metodeissa.
HUOM: elementtien pitää olla alla mainitussa järjestyksessä.
Elementti | Tyyppi | Pituus | Pakollinen | Kommentti |
INVOICE | X | Juurielementti, jonka sisällä kaikki alla mainitut elementit ovat. Tällä elementillä ei ole arvoa. Elementti vaatii tyhjän nimiavaruuden määrittelyn: <INVOICE xmlns=””>. | ||
PDF_FILE_NAME | string | Laskun liitetiedoston (PDF-tiedosto) nimi. Tämä elementti on pakollinen silloin, kun kutsutaan NewInvoiceFile –metodia. NewInvoice-metodia kutsuttaessa tätä elementtiä ei tarvita. | ||
CLIENT_ID | int | X | Laskuttajayrityksen asiakasnumero | |
INVOICE_DATE | date
YYYY-MM-DD | X | Laskun pvm. HUOM: katkaisupäivän jälkeen ei voi enää viedä edelliselle kuukaudelle päivättyjä laskuja. | |
INVOICE_NUMBER | int | max 8 numeroa | Laskun numero. Jos laskun numeroa ei anneta XML:ssä ja SHIPMODE = 1 tai 2, web service generoi laskun numeron automaattisesti. Jos laskun numero on annettu, SHIPMODE on oltava <> 0. | |
PAYMENT_REFERENCE | string | max 20 | Viitenumero. Jos viitenumero on annettu, myös laskunumero pitää antaa ja SHIPMODE on oltava <> 0. Mikäli SHIPMODE on 3 (eli ei laskun lähetystä Talenomilta), tulee viitenumero tuoda laskulle. | |
DUE_DATE | date
YYYY-MM-DD | X | Eräpäivä | |
DELIVERY_DATE | date YYYY-MM-DD | Toimituspvm | ||
ORDER_NUMBER | string | max 35 | Tilausnumero (esim laskun maksajan ostotilausnumero) | |
ORDER_DATE | date YYYY-MM-DD | Tilauspäivämäärä | ||
OUR_REFERENCE | string | max 35 | Viitteemme | |
YOUR_REFERENCE | string | max 35 | Viitteenne | |
DNET | short | X | Maksuehto (pv netto) | |
CASHDISDDATE | date YYYY-MM-DD | Kassa-ale päivä | ||
CASHDISPERC | decimal (5,2) | Kassa-ale % | ||
OVERDUEINTEREST | decimal(5,2) | Viivästyskorko % | ||
REMARKTIME | unsignedByte | X | Huomautusaika | |
INVOICE_MESSAGE | string | max 1500 | Laskukohtainen viesti | |
CLIENT_MESSAGE | string | max 1500 | Asiakaskohtainen viesti | |
SHIPMODE | unsignedByte | X | Lähetystapa. Mahdolliset arvot:
0 (= Tulostus) 1 (= Postituspalvelu verkkolasku) 2 (= Postituspalvelu paperilasku) 3 (= Tulostus, tilassa lähetetty) 4 (= Sähköpostilähetys) Jos lähetystapa = 0, laskua ei hyväksytä vielä tässä vaiheessa, ja laskulle asetetaan laskunumero = 0 sekä viitenumero = 0. Lasku on tällöin käytävä hyväksymässä manuaalisesti Talenom-järjestelmässä. Jos lähetystapa = 1 tai 2, lasku hyväksytään heti ja sille tehdään laskunumero sekä viitenumero mikäli niitä ei ole annettu. Lasku lähetetään Itellalle, joka lähettää sen eteenpäin verkkolaskuna tai paperilaskuna. Jos lähetystapa = 3, lasku hyväksytään heti ja laitetaan lähetetty tilaan, sille tehdään laskunumero sekä viitenumero mikäli niitä ei ole annettu. Laskua ei lähetetä eteenpäin ja se laitetaan eMyyntiin tilaan tulostus. Jos lähetystapa = 4, lasku lähetetään välittömästi siirron jälkeen sähköpostilla ja se saa lähetetty-statuksen. Huom: sähköpostitse lähetettäväksi halutulla laskulla on tuotava myös elementit USE_EMAILBILLING arvolla 1 ja EMAILBILLING_ADDRESS | |
CUSTOMER_TYPE | unsignedByte | Loppuasiakkaan asiakastyyppi.
0 = Yritys (Oletus) 1 = Yksityisasiakas | ||
PAYMENT_INSTRUCTION_IDENTIFIER | string | max 35 | Kuluttaja-asiakkaiden e-laskulle tuleva laskutusaihe | |
COMMENT | string | Kommentti – Ei näy laskulla | ||
FACTORING | unsignedByte | Rahoitusyhtiö. Mahdolliset arvot:
1=Nordea 2=Pohjola 3=Danske 4=Handelsbanken 5=Ropo Finance 6=Noja Rahoitus 7=Aktia 8=Svea 9=Alisa Pankki 10=Puro Jos FACTORING -elementti puuttuu, tehdään normaali lasku. Jos FACTORING-elementti löytyy, tehdään rahoitusyhtiölasku. Rahoittaminen ei ole automaattisesti toiminnassa vaan tarvitsee erikseen sopimukset. Lisätietoja Talenomin myyntireskontra –tiimistä. | ||
PAYMENT_REMINDER_BLOCK | Int | 1 = Maksumuistutuksen esto päälle
0 = Maksumuistutuksen esto pois Oletus 0. Laskukohtainen tieto, estoa ei päivitetä asiakastietoihin. | ||
PAYMENT_COLLECT_BLOCK | Int | 1 = Maksun perintä esto päälle
0 = Maksun perintä esto pois Oletus 0. Laskukohtainen tieto, estoa ei päivitetä asiakastietoihin. | ||
ORIGINAL_INVOICE_NUMBER | string | max 8 | Hyvityslaskulla käytettävä alkuperäisen veloituslaskun numero. Mikäli tätä käytetty, kohdistuu hyvityslasku automaattisesti veloituslaskulle reskontrassa.
HUOM: Tätä elementtiä ei saa tuoda XML:n sisällä jos lasku ei ole hyvityslasku (loppusumma negatiivinen) | |
PAYER | X | Loppuasiakkaan tiedot. Pakolliset tiedot annettava aina. Tiedot päivitetään järjestelmään joka kerta. Jos asiakasta ei löydy annetulla asiakasnumerolla, lisätään asiakas järjestelmään annetuilla tiedoilla. | ||
NUMBER | int | max10 | X | Loppuasiakkaan asiakasnumero. Jos halutaan lisätä uusi asiakas, annetaan esim. 0 tai joku muu sellainen asiakasnumero joka ei varmasti ole käytössä. |
NAME | string | max 45 | X | Loppuasiakkaan nimi |
NAME_EXT | string | max 60 | Loppuasiakkaan nimenjatko | |
ACCOUNTS_RECEIVABLE | int | max 6 numeroa | X | Loppuasiakkaan saatavatilinumero. Tilinumeron pitää löytyä Talenomin järjestelmästä. Oletuksena on saatavatilinumero 1701. |
DELIVERY_ADDRESS | Toimitusosoite. | |||
STREET_ADDRESS | string | max 100 (35) | Toimitusosoite: Katuosoite.
Kentän pituus 35 merkkiä mikäli myös STREET_ADDRESS2 on käytössä. | |
STREET_ADDRESS2 | string | string 35 | Toimitusosoite: Katuosoite2 | |
POSTAL_CODE | string | max 50 | Toimitusosoite: Postinumero | |
POST_OFFICE | string | max 30 | Toimitusosoite: Postitoimipaikka | |
COUNTRY | string | max 2 | Toimitusmaa. Kaksikirjaiminen ISO 3166-1 alpha-2-maakoodi (FI/GB/SE/jne.) | |
DELIVERY_LOCATION | string | max 100 | Toimituspaikka | |
INVOICE_ADDRESS | X | Laskutusosoite | ||
STREET_ADDRESS | string | max 100 (35) | X | Laskutusosoite: Katuosoite.
Kentän pituus 35 merkkiä mikäli myös STREET_ADDRESS2 on käytössä. |
STREET_ADDRESS2 | string | max 35 | Laskutusosoite: Katuosoite2 | |
POSTAL_CODE | string | max 50 | X | Laskutusosoite: Postinumero |
POST_OFFICE | string | max 30 | X | Laskutusosoite: Postitoimipaikka |
COUNTRY | string | max 2 | X | Laskutusmaa. Kaksikirjaiminen ISO 3166-1 alpha-2-maakoodi (FI/GB/SE/jne.) |
USE_EMAILBILLING | string | Sähköpostilaskutus
1 = päälle (HUOM: tuotava lisäksi SHIPMODE= 4 ja EMAILBILLING_ADDRESS) | ||
EMAILBILLING_ADDRESS | string | max 100 | Sähköpostiosoite, minne lasku lähetetään (HUOM: tuotava lisäksi SHIPMODE= 4 ja USE_EMAILBILLING = 1) | |
EMAIL_SEND_METHOD | string | Sähköpostilaskun lähetystapa
0 = linkkinä (oletus) 1 = liitteenä | ||
VAT_ID | string | max 20 | Loppuasiakkaan ALV-tunnus | |
BUSINESS_ID | string | max 20 | Loppuasiakkaan Y-tunnus | |
PHONE | string | max 15 | Loppuasiakkaan puhelin | |
MOBILE | string | max 15 | Loppuasiakkaan matkapuhelin | |
TELEFAX | string | max 15 | Loppuasiakkaan fax | |
string | max 50 | Loppuasiakkaan sähköpostiosoite | ||
EINVOICEID | string | max 35 | Loppuasiakkaan verkkolaskutunnus. HUOM: jos lähetystapa (SHIPMODE) = 1, ja tämä kenttä on tyhjä lasku lähtee paperitulosteena loppuasiakkaalle. Talenom Onlinessa lasku näkyy ”Verkkolasku” tilassa siihen asti, kun lasku on lähtenyt Itellalle ja järjestelmä on tehnyt tarkistuksen verkkolaskun olemassaolosta | |
INTERMEDIATOR | string | max 35 | Loppuasiakkaan verkkolaskuoperaattorin välittäjän tunnus | |
INVOICE_LANGUAGE | language_type | X | Laskupohjan kieli. Mahdolliset arvot:
fi-FI sv-SE en-GB de-DE | |
CUSTOMER_MESSAGE | string | max 200 | Asiakasviesti | |
VAT_INCLUDED | decimal(19,4) | Laskun verollinen summa | ||
VAT_EXCLUDED | decimal(19,4) | Laskun veroton summa | ||
ORIGINAL_CURRENCY | string | max 3 | Laskun alkuperäinen valuutta ISO 4217 koodiston mukaisesti. (HUOM: tuotava lisäksi EXCHANGE_RATE_TO_EUR) | |
EXCHANGE_RATE_TO_EUR | decimal(19,4) | Laskulla käytetty valuuttakurssi (Laskun valuuttasumma jaettuna kurssilla = laskun eurosumma kirjanpitoa varten). Ei saa olla ≤ 0, pitää olla ≠ 1. (HUOM: tuotava lisäksi ORIGINAL_CURRENCY) | ||
ROWS | Laskun rivit. Vähintään yksi rivi (ROW) per lasku. | |||
PRODUCT_NUMBER | string | max 30 | X | Tuotenumero |
PRODUCT_NAME | string | max 45 | X | Tuotteen nimi |
PRODUCT_INFO | string | max 1024 | X | Selite
Elementti PRODUCT_INFO on pakollinen, mutta sisältö voi olla tyhjä, jos ROW_TYPE=0. Jos ROW_TYPE =1, PRODUCT_INFO kentässä on oltava selite. |
CN_CODE | string | max 20 | Tullin vientikoodi | |
QUANTITY | decimal(8,4) | X | Määrä | |
UNIT | string | max 15 | Yksikkö (esim kpl, h, km..) | |
PRICEPERUNIT | decimal(19,4) | X | Yksikköhinta | |
DISCOUNT_PERCENTAGE | decimal(5,2) | X | Ale % (HUOM: Alennusprosentti ei saa olla miinusmerkkinen) | |
VAT_RATE | decimal(5,2) | X | Alv % | |
ROW_TYPE | row_type | X | Rivin tyyppi. Mahdolliset arvot:
0 (=Tuote) 1 (=Selite) | |
SALES_ACCOUNT_NUMBER | int | max 6 numeroa | X | Myyntitilinumero
Tilinumeron pitää löytyä Talenomin järjestelmästä. |
PROPOSED_PURCHASE_ACCOUNT | int | max 4 | Tiliöintiehdotus. Kirjanpidon tili, jolle laskun vastaanottaja voi tiliöidä laskurivin omassa järjestelmässään. Jos tuodaan enemmän kuin 4 merkkiä, tietoa ei poimita aineistolta. | |
VAT_INCLUDED | decimal(19,4) | Rivin verollinen summa | ||
VAT_EXCLUDED | decimal(19,4) | Rivin veroton summa | ||
COST_CENTER_CODE | string | max 8 | Kustannuspaikkakoodi
Jos koodia ei löydy Talenomin järjestelmästä, kustannuspaikka perustetaan. | |
COST_CENTER_INFO | string | max 50 | Kustannuspaikan nimi | |
COST_TYPE_CODE | string | max 6 | Kustannuslajikoodi
Jos koodia ei löydy Talenomin järjestelmästä, kustannuslaji perustetaan. | |
COST_TYPE_INFO | string | max 50 | Kustannuslajin nimi | |
PROJECT_CODE | string | max 8 | Projektikoodi
Jos koodia ei löydy Talenomin järjestelmästä, projekti perustetaan. | |
PROJECT_INFO | string | max 50 | Projektin nimi | |
PROJECT_TYPE_CODE | string | max 6 | Projektilajikoodi
Jos koodia ei löydy Talenomin järjestelmästä, projektilaji perustetaan. | |
PROJECT_TYPE_INFO | string | max 50 | Projektilajin nimi |
NewInvoice- ja NewInvoiceFile -metodin paluuarvo
Paluuarvona metodi palauttaa XML-muodossa valmiin laskun tiedot sekä lisää INVOICE-elementtiin status-attribuutin, joka kertoo onnistuiko laskun tallennus. Jos tallennus onnistui, XML sisältää kohdassa ’XML-tiedoston rakenne’ mainittujen elementtien lisäksi alla mainitut elementit.
HUOM: paluuarvon tyyppi on string, mutta sisältö on XML-muotoinen, eli sen voi konvertoida XML-tiedostoksi.
Paluuarvo | |
INVOICE_NR | Laskun numero (HUOM: jos lähetystapa (SHIPMODE) on ollut 0, laskun numero = 0) |
REFERENCE_NR | Viitenumero (HUOM: jos lähetystapa (SHIPMODE) on ollut 0, viitenumero = 0) |
AMOUNT_TOTAL_VAT_INCLUDED | Laskun verollinen summa |
AMOUNT_TOTAL_VAT_EXCLUDED | Laskun veroton summa |
AMOUNT_VAT | Laskun verosumma |
INVOICE_ACCEPTED | Laskun hyväksymispvm (HUOM: jos lähetystapa (SHIPMODE) on ollut 0, hyväksymispvm on tyhjä) |
PAYER/NUMBER | Uuden loppuasiakkaan asiakasnumero, jos asiakas lisättiin. Muuten alkuperäinen XML:ssä lähetetty asiakasnumero. |
ROW/TOTAL_SUM_VAT_INCLUDED | Rivin verollinen summa |
ROW/TOTAL_SUM_VAT_EXCLUDED | Rivin veroton summa |
ROW/TOTAL_VAT | Rivin veron määrä |
Vastauksessa INVOICE-elementillä on attribuutit Status ja ReturnMessage, jotka antavat tietoa tallennuksen onnistumisesta. Status –attribuutti voi saada seuraavat arvot:
Status | |
OK | Laskun tallennus onnistui |
Error | Laskun tallennus epäonnistui. ReturnMessage-kentässä tarkempi virheilmoitus. |
ReturnMessage-attribuutissa on tarkempi kuvaus mahdollisesta virheestä. Virheilmoitukset ovat alla luetellun tyyppisiä. Kaikki virheilmoitukset, jotka alkavat sanoilla ”XML validation error” ovat XML-validaattorin tuottamia ja johtuvat siitä että lähetetty XML ei vastaa XML skeeman kuvausta, (jokin pakollinen elementti puuttuu / jonkin elementin arvo on väärän tyyppinen / elementit ovat väärässä järjestyksessä). XML skeeman kuvaus löytyy kohdasta ’XML-tiedoston rakenne’.
Virheilmoitus | |
Error: Invalid username or password | Käyttäjätunnus tai salasana väärin |
Error: Invalid CLIENT_ID - user does not have “eSales Invoice” rights for the client | Käyttäjällä ei ole eMyyntilaskun käyttöoikeuksia annetulle asiakkaalle |
Error: Invalid value in INVOICE_ADDRESS/COUNTRY | Laskutusmaa väärin (pitää olla kaksikirjaiminen ISO 3166-1 alpha-2-maakoodi) |
Error: Invalid value in DELIVERY_ADDRESS/COUNTRY | Toimitusmaa väärin (pitää olla kaksikirjaiminen ISO 3166-1 alpha-2-maakoodi) |
Error: ROW/PRODUCT_INFO cannot be empty when ROW_TYPE = 1 | Seliteriviltä (ROW_TYPE=1) puuttuu arvo kentästä PRODUCT_INFO |
Error: PAYER/EINVOICEID cannot be empty when SHIPMODE = 1 | Verkkolaskutunnus (EINVOICEID) on annettava, jos lähetystapa (SHIPMODE) = 1 |
XML validation error: The 'DUE_DATE' element is invalid - The value '' is invalid according to its datatype 'http://www.w3.org/2001/XMLSchema:date' - The string '' is not a valid XsdDateTime value | Esimerkki XML-validaattorin virheilmoituksesta: Eräpäivä ei saa olla tyhjä |
XML validation error: The element 'INVOICE' has invalid child element 'DELIVERY_DATE'. List of possible elements expected: 'DUE_DATE'. | Esimerkki XML-validaattorin virheilmoituksesta: Pakollinen Eräpäivä-elementti (DUE_DATE) puuttuu kokonaan |
NewCustomer XML-tiedoston rakenne
Alla olevassa taulukossa on kirjoitettu auki XML-skeeman kuvaus (UusiAsiakas.xsd) .
HUOM: elementtien pitää olla alla mainitussa järjestyksessä.
Elementti | Tyyppi | Pituus | Pakollinen | Kommentti |
CUSTOMER | X | Juurielementti, jonka sisällä kaikki alla mainitut elementit ovat. Tällä elementillä ei ole arvoa. Elementti vaatii tyhjän nimiavaruuden määrittelyn: <CUSTOMER xmlns=””>. | ||
CLIENT_ID | int | X | Loppuasiakkaita siirtävän yrityksen asiakasnumero | |
ROWS | Asiakastieto rivit. Vähintään yksi rivi (ROW) per asiakas. | |||
NUMBER | int | X | Loppuasiakkaan asiakasnumero. Jos halutaan lisätä uusi asiakas, annetaan esim. 0 tai joku muu sellainen asiakasnumero joka ei varmasti ole käytössä. | |
NAME | string | max 35 | X | Loppuasiakkaan nimi |
NAME_EXT | string | max 60 | Loppuasiakkaan nimenjatko | |
STREET_ADDRESS | string | max 100 | X | Laskutusosoite:Katuosoite |
POSTAL_CODE | string | max 50 | X | Laskutusosoite:Postinumero |
POST_OFFICE | string | max 30 | X | Laskutusosoite:Postitoimipaikka |
COUNTRY | string | max 2 | X | Laskutusmaa. Kaksikirjaiminen ISO 3166-1 alpha-2-maakoodi (FI/GB/SE/jne.) |
DELIVERY_ADDRESS | Toimitusosoite. | |||
STREET_ADDRESS | string | max 100 | Toimitusosoite:Katuosoite | |
POSTAL_CODE | string | max 50 | Toimitusosoite:Postinumero | |
POST_OFFICE | string | max 30 | Toimitusosoite:Postitoimipaikka | |
COUNTRY | string | max 2 | Toimitusmaa. Kaksikirjaiminen ISO 3166-1 alpha-2-maakoodi (FI/GB/SE/jne.) | |
DELIVERY_LOCATION | string | max 100 | Toimituspaikka | |
VAT_ID | string | max 20 | Loppuasiakkaan ALV-tunnus | |
BUSINESS_ID | string | max 20 | Loppuasiakkaan Y-tunnus | |
PHONE | string | max 15 | Loppuasiakkaan puhelin | |
MOBILE | string | max 15 | Loppuasiakkaan matkapuhelin | |
TELEFAX | string | max 15 | Loppuasiakkaan fax | |
string | max 50 | Loppuasiakkaan sähköpostiosoite | ||
EINVOICEID | string | max 35 | Loppuasiakkaan verkkolaskutunnus. HUOM: jos lähetystapa (SHIPMODE) = 1, tämä kenttä ei saa olla tyhjä. | |
INVOICE_LANGUAGE | language_type | X | Laskupohjan kieli. Mahdolliset arvot: | |
fi-FI | ||||
sv-SE | ||||
en-GB | ||||
de-DE | ||||
ACCOUNTS_RECEIVABLE | int | max 6 numeroa | Loppuasiakkaan saatavatilinumero. Tilinumeron pitää löytyä Talenomin järjestelmästä. Oletuksena on saatavatilinumero 1701. |
NewCustomer -metodin paluuarvo
Paluuarvona metodi palauttaa XML-muodossa valmiin laskun tiedot sekä lisää CUSTOMER-elementtiin status-attribuutin, joka kertoo onnistuiko laskun tallennus. Jos tallennus onnistui, XML sisältää kohdassa ’XML-tiedoston rakenne’ mainittujen elementtien lisäksi alla mainitut elementit.
HUOM: paluuarvon tyyppi on string, mutta sisältö on XML-muotoinen, eli sen voi konvertoida XML-tiedostoksi.
Vastauksessa CUSTOMER-elementillä on attribuutit Status ja ReturnMessage, jotka antavat tietoa tallennuksen onnistumisesta. Status –attribuutti voi saada seuraavat arvot:
Status | |
OK | Loppuasiakastietojen tallennus onnistui |
Error | Loppuasiakastietojen tallennus epäonnistui. ReturnMessage-kentässä tarkempi virheilmoitus. |
ReturnMessage-attribuutissa on tarkempi kuvaus mahdollisesta virheestä. Virheilmoitukset ovat alla luetellun tyyppisiä. Kaikki virheilmoitukset, jotka alkavat sanoilla ”XML validation error” ovat XML-validaattorin tuottamia ja johtuvat siitä että lähetetty XML ei vastaa XML skeeman kuvausta, (jokin pakollinen elementti puuttuu / jonkin elementin arvo on väärän tyyppinen / elementit ovat väärässä järjestyksessä). XML skeeman kuvaus löytyy kohdasta ’XML-tiedoston rakenne’.
Error: Invalid username or password | Käyttäjätunnus tai salasana väärin. |
Error: Invalid CLIENT_ID - user does not have “eSales Invoice” rights for the client | Käyttäjällä ei ole eMyyntilaskun käyttöoikeuksia annetulle asiakkaalle. |
CustomerNumber: AsiakasNro Error: Weak on the customer information. | Loppuasiakkaan pakollisissa tiedoissa on puutteita. |
CustomerNumber: AsiakasNro Error: Invalid value in COUNTRY: the country code does not exist in the country list | Loppuasiakkaan maa väärin (pitää olla kaksikirjaiminen ISO 3166-1 alpha-2-maakoodi). |
CustomerNumber: AsiakasNro Error: Invalid value in DELIVERY_ADDRESS/COUNTRY: the country code does not exist in the country list | Loppuasiakkaan toimitusmaa väärin (pitää olla kaksikirjaiminen ISO 3166-1 alpha-2-maakoodi). |
CustomerNumber: AsiakasNro Error: Invalid value in ACCOUNTS_RECEIVABLE: the given account number does not exist in Talenom system | Saatavatiliä ei löydy talenomin järjestelmästä. |
Alla esimerkki NewInvoice metodin vastauksesta, kun laskun tallennus on onnistunut.
<?xml version="1.0" encoding="utf-8" ?>
- <INVOICE xmlns="" Status="OK" ReturnMessage="Success: Invoice added">
<INVOICE_NR>1009</INVOICE_NR>
<REFERENCE_NR>12310092</REFERENCE_NR>
<AMOUNT_TOTAL_VAT_INCLUDED>166.8836</AMOUNT_TOTAL_VAT_INCLUDED>
<AMOUNT_TOTAL_VAT_EXCLUDED>135.6777</AMOUNT_TOTAL_VAT_EXCLUDED>
<AMOUNT_VAT>31.2059</AMOUNT_VAT>
<INVOICE_ACCEPTED>12/10/2010 10:47:00 AM</INVOICE_ACCEPTED>
<CLIENT_ID>22</CLIENT_ID>
<INVOICE_DATE>2018-12-09</INVOICE_DATE>
<DUE_DATE>2018-12-23</DUE_DATE>
<DELIVERY_DATE>2018-12-30</DELIVERY_DATE>
<OUR_REFERENCE>viitteemme</OUR_REFERENCE>
<YOUR_REFERENCE>viitteenne</YOUR_REFERENCE>
<DNET>14</DNET>
<CASHDISDDATE>2018-12-16</CASHDISDDATE>
<CASHDISDATEPERC>2.50</CASHDISDATEPERC>
<OVERDUEINTEREST>8.50</OVERDUEINTEREST>
<REMARKTIME>8</REMARKTIME>
<INVOICE_MESSAGE>Laskukohtainen viesti</INVOICE_MESSAGE>
<CLIENT_MESSAGE>Asiakaskohtainen viesti</CLIENT_MESSAGE>
<SHIPMODE>1</SHIPMODE>
<COMMENT />
- <PAYER>
<NUMBER>123</NUMBER>
<NAME>Ripan Ruuvi Oy</NAME>
<NAME_EXT />
- <DELIVERY_ADDRESS>
<STREET_ADDRESS>Saturnuksentie 45</STREET_ADDRESS>
<POSTAL_CODE>01480</POSTAL_CODE>
<POST_OFFICE>Helsinki</POST_OFFICE>
<COUNTRY>FI</COUNTRY>
<DELIVERY_LOCATION>Toimituspaikka</DELIVERY_LOCATION>
</DELIVERY_ADDRESS>
- <INVOICE_ADDRESS>
<STREET_ADDRESS>PL 125</STREET_ADDRESS>
<POSTAL_CODE>01481</POSTAL_CODE>
<POST_OFFICE>Espoo</POST_OFFICE>
<COUNTRY>FI</COUNTRY>
<USE_EMAILBILLING></USE_EMAILBILLING>
<EMAILBILLING_ADDRESS></EMAILBILLING_ADDRESS>
</INVOICE_ADDRESS>
<VAT_ID>FI1122336</VAT_ID>
<BUSINESS_ID>112233-6</BUSINESS_ID>
<PHONE>09-123666</PHONE>
<MOBILE />
<TELEFAX />
<EMAIL />
<EINVOICEID />
<INTERMEDIATOR />
<INVOICE_LANGUAGE>fi-FI</INVOICE_LANGUAGE>
<CUSTOMER_MESSAGE>Asiakasviesti</CUSTOMER_MESSAGE>
<DNET>14</DNET>
<CASH_DIS_DAYS>7</CASH_DIS_DAYS>
<CASH_DIS_DATE_PERC>2.50</CASH_DIS_DATE_PERC>
</PAYER>
- <ROWS>
- <ROW>
<PRODUCT_NUMBER>10</PRODUCT_NUMBER>
<PRODUCT_NAME>Ruuvi</PRODUCT_NAME>
<PRODUCT_INFO>Selite</PRODUCT_INFO>
<QUANTITY>1</QUANTITY>
<PRICEPERUNIT>100.1255</PRICEPERUNIT>
<DISCOUNT_PERCENTAGE>10.00</DISCOUNT_PERCENTAGE>
<VAT_RATE>24.00</VAT_RATE>
<ROW_TYPE>0</ROW_TYPE>
<SALES_ACCOUNT_NUMBER>123456</SALES_ACCOUNT_NUMBER>
<PROPOSED_PURCHASE_ACCOUNT>4000</PROPOSED_PURCHASE_ACCOUNT>
<COST_CENTER_CODE>1234</COST_CENTER_CODE>
<COST_CENTER_INFO>Kustannuspaikka1</COST_CENTER_INFO>
<COST_TYPE_CODE>345</COST_TYPE_CODE>
<COST_TYPE_INFO>Kustannustyyppi 1</COST_TYPE_INFO>
<PROJECT_CODE />
<PROJECT_INFO />
<PROJECT_TYPE_CODE />
<PROJECT_TYPE_INFO />
<TOTAL_SUM_TAX_INCLUDED>110.8389</TOTAL_SUM_TAX_INCLUDED>
<TOTAL_SUM_TAX_EXCLUDED>90.113</TOTAL_SUM_TAX_EXCLUDED>
<TOTAL_TAX>20.726</TOTAL_TAX>
</ROW>
- <ROW>
<PRODUCT_NUMBER>20</PRODUCT_NUMBER>
<PRODUCT_NAME>Mutteri</PRODUCT_NAME>
<PRODUCT_INFO>Selite</PRODUCT_INFO>
<QUANTITY>5</QUANTITY>
<PRICEPERUNIT>10.1255</PRICEPERUNIT>
<DISCOUNT_PERCENTAGE>10.00</DISCOUNT_PERCENTAGE>
<VAT_RATE>24.00</VAT_RATE>
<ROW_TYPE>0</ROW_TYPE>
<SALES_ACCOUNT_NUMBER>1237777</SALES_ACCOUNT_NUMBER>
<PROPOSED_PURCHASE_ACCOUNT />
<COST_CENTER_CODE />
<COST_CENTER_INFO />
<COST_TYPE_CODE />
<COST_TYPE_INFO />
<PROJECT_CODE />
<PROJECT_INFO />
<PROJECT_TYPE_CODE />
<PROJECT_TYPE_INFO />
<TOTAL_SUM_TAX_INCLUDED>56.0446</TOTAL_SUM_TAX_INCLUDED>
<TOTAL_SUM_TAX_EXCLUDED>45.5648</TOTAL_SUM_TAX_EXCLUDED>
<TOTAL_TAX>10.4799</TOTAL_TAX>
</ROW>
- <ROW>
<PRODUCT_NUMBER />
<PRODUCT_NAME />
<PRODUCT_INFO>Seliterivin selite</PRODUCT_INFO>
<QUANTITY>0</QUANTITY>
<PRICEPERUNIT>0</PRICEPERUNIT>
<DISCOUNT_PERCENTAGE>0</DISCOUNT_PERCENTAGE>
<VAT_RATE>0</VAT_RATE>
<ROW_TYPE>1</ROW_TYPE>
<SALES_ACCOUNT_NUMBER>0</SALES_ACCOUNT_NUMBER>
<PROPOSED_PURCHASE_ACCOUNT />
<COST_CENTER_CODE />
<COST_CENTER_INFO />
<COST_TYPE_CODE />
<COST_TYPE_INFO />
<PROJECT_CODE />
<PROJECT_INFO />
<PROJECT_TYPE_CODE />
<PROJECT_TYPE_INFO />
<TOTAL_SUM_TAX_INCLUDED>0</TOTAL_SUM_TAX_INCLUDED>
<TOTAL_SUM_TAX_EXCLUDED>0</TOTAL_SUM_TAX_EXCLUDED>
<TOTAL_TAX>0</TOTAL_TAX>
</ROW>
</ROWS>
</INVOICE>
Lähetä meille viesti, vastaamme mahdollisimman pian.