Hyppää sisältöön

FMFI E-Invoice — Tekninen ja konsulttiopas

Tämä dokumentti on tarkoitettu konsulteille ja kehittäjille, jotka työskentelevät FMFI E-Invoice -sovelluksen kanssa. Loppukäyttäjäohjeistus löytyy tiedostosta index.md.


Sisällysluettelo


Verkkolaskuasetukset — kenttäviite

Avaa E-Invoice Setup -sivu (hae "E-Invoice Setup" Business Centralissa).

Yleiset asetukset

Kenttä Kuvaus
E-Invoice Address Yrityksesi verkkolaskuosoite (OVT-tunnus tai vastaava). Tätä käytetään lähettäjän osoitteena Finvoice XML:ssä.
Intermediator Code Verkkolaskuoperaattorisi (pankin/palveluntarjoajan) koodi.
Send E-Inv. To All Customers Kun käytössä, verkkolaskut luodaan kaikille asiakkaille. Kun pois käytöstä, verkkolaskutus on erikseen otettava käyttöön asiakaskortilla.
Default Finvoice Receiv. Field Mikä asiakaskortin kenttä määrittää asiakkaan verkkolaskuosoitteen. Voidaan ohittaa asiakaskohtaisesti.
Finvoice Receiver Alternative Varaervo, jota käytetään kun asiakkaalta puuttuu verkkolaskuosoite (esim. EKIRJE, PRINT, TULOSTUS).
Cust. Address Details Source Määrittää, haetaanko asiakkaan osoitetiedot XML:ään asiakaskortilta vai kirjatulta laskuasiakirjalta.
Finvoice Validation Määrittää, mitä tapahtuu, jos tekninen XML-validointi epäonnistuu ennen lähetystä: Tyhjä = ei validointia, Message = näytä validoinnin tulos mutta jatka, Error = estä lähetys validointivirheen sattuessa.
Finvoice Validation Scope Määrittää, tarkistetaanko vain XML-skeema vai sekä skeema että Schematron-liiketoimintasäännöt.
Write To One File Kun käytössä, kaikki laskut kirjoitetaan yhteen XML-tiedostoon (ketjutetaan). Yleensä tarvitaan kun käytetään pankkia operaattorina.
Zip Per Invoice Luo erillisen ZIP-tiedoston jokaiselle laskulle (sisältäen XML:n ja mahdolliset liitteet).
Increase No. Printed On Export Kasvattaa kirjatun asiakirjan "Tulostettu kpl" -laskuria verkkolaskun viennin yhteydessä.
Skip Zero Amount Invoices Ohittaa laskut, joiden summa ALV:n kanssa on nolla, laskuja ehdotettaessa.
Print 0 Invoice Lines Määrittää, sisällytetäänkö nollasummaiset laskurivit XML:ään.
Write Finvoice SOAP Lisää Finvoice SOAP -kirjekuoren otsikon. Yleensä operaattorien vaatima.
Default Inv. Overdue Interest Oletusviivästyskorko, jota käytetään kun maksuehdossa ei ole määritelty korkoa.
InvoiceFreeText Std Text Vakiotekstikoodi, jonka sisältö viedään <InvoiceFreeText>-elementtiin.
Invoice Comment Lines Visible Sisällyttää laskun kommenttirivit verkkolaskuun (huom: EN 16931 ei tue kommenttirivejä).
Skip EN16931 Identifier Jättää <SpecificationIdentifier>-elementin pois XML:stä.

Laskutyypit — ota käyttöön tai poista käytöstä asiakirjatyypit, jotka voidaan lähettää verkkolaskuina:

  • Invoice — Myyntilaskut
  • Credit Memo — Myynti hyvityslaskut
  • Service Invoice — Huoltolaskut
  • Service Credit Memo — Huollon hyvityslaskut

Liitteet

Kenttä Kuvaus
Include Attachments Sisällyttää asiakirjaliitteet (Asiakirjaliite-toiminnosta) verkkolaskun vientiin.
Auto Generate Invoice Printout Luo automaattisesti laskun PDF-tulosteen ennen vientiä. Käytettävissä vain kun Include Attachments on käytössä.
Attachment Path Polkuetuliite liitetiedostonimille (esim. Attachments\). Voidaan käyttää myös tiedostonimen etuliitteenä.
Skip Attachment Name Prefix Kun käytössä, poistaa attachment://-etuliitteen liitteiden URL-osoitteista XML:ssä.

Azure Blob Storage -yhteys

Kenttä Kuvaus
ABS Account Name Azure Storage -tilin nimi suoraa blob-vientiä varten.
ABS Container Name Säilön nimi tallennustilillä.
Access Key Azure Storagen avain (peitetty kenttä).

Asiakaskortti — verkkolaskukentät

Asiakaskortin Verkkolasku-ryhmässä on seuraavat kentät:

Kenttä Kuvaus
E-Invoice Address Asiakkaan verkkolaskuosoite (OVT-tunnus, IBAN tai muu päätepisteen tunniste).
Intermediator Code Asiakkaan verkkolaskuoperaattorin koodi.
Enable E-Invoice Default = käyttää yleistä asetusta Verkkolaskuasetuksista, Yes = lähetetään aina verkkolasku, No = ei koskaan lähetetä verkkolaskua.
Business Identity Code Asiakkaan Y-tunnus. Käytetään Finvoice XML:n <BusinessId>-elementissä.
Alternative Receiver Field Id Ohittaa sen, mitä asiakaskortin kenttää käytetään verkkolaskun vastaanottajan osoitteena tälle asiakkaalle.

Kun Send E-Inv. To All Customers on pois käytöstä Verkkolaskuasetuksissa, vain asiakkaat, joilla Enable E-Invoice on Yes, sisällytetään verkkolaskujen ehdottamiseen.


Vienti-/tuontiasetukset

E-Invoice Exp. Imp. Setup -sivulla voit määrittää nimettyjä työkirjamäärityksiä. Jokainen määritys sisältää:

Kenttä Kuvaus
Code Määrityksen yksilöllinen tunniste.
Description Kuvaava nimi.
Direction Vienti tai tuonti.
Suggest Invoices Codeunit Mikä codeunit ehdottaa laskuja (mahdollistaa laajennettavuuden).
Export Codeunit Mikä codeunit käsittelee viennin (esim. vienti ZIP-tiedostoon, vienti Azure Blobiin).

Tämä on sovelluksen pääasiallinen laajennettavuuspiste: luomalla uusia vienti-/tuontiasetustietueita ja osoittamalla ne omiin codeuniteihin, konsultit voivat lisätä uusia vientikohteita tai laskujen ehdotuslogiikkaa muuttamatta perussovellusta.

Oletusmääritykset

Asennuksen jälkeen sovellus luo:

  • Vienti-määritys, joka käyttää Finvoice 3.0 -vientimoottoria ZIP-tiedostotulosteella
  • Lisämäärityksiä voidaan lisätä Azure Blob Storagelle tai mukautetuille integraatioille

Pankkitietojen määritys

E-Invoice Bank Detail Card -sivulla voit määrittää, mitkä pankkitilit sisällytetään Finvoice XML:ään.

Kenttä Kuvaus
Bank No. Linkittyy pankkitiliin Business Centralissa.
Show As Default Bank Vain yksi pankki valuuttaa kohti voi olla oletuspankki. Oletuspankki näytetään ensimmäisenä Finvoice XML:ssä.
Currency Code Liittää pankin tiettyyn valuuttaan.

Jos pankkitietoja ei ole määritelty, sovellus käyttää Yrityksen tiedot -sivun pankkitietoja.


Työkirjan sarakkeiden viite

Sarake Kuvaus
Document Type Lasku, hyvityslasku, huoltolasku tai huollon hyvityslasku
Document No. Kirjatun asiakirjan numero
Account No. Asiakasnumero
Account Name Asiakkaan nimi
Amount Laskun summa ilman ALV:tä
Amount Including VAT Laskun summa ALV:n kanssa
E-Invoice Sent Onko verkkolasku lähetetty (voidaan vaihtaa manuaalisesti)
E-Invoice Date Sent Päivämäärä, jolloin verkkolasku lähetettiin
E-Invoice Time Sent Kellonaika, jolloin verkkolasku lähetettiin
Factoring Sent Date Päivämäärä, jolloin factoringtiedot lähetettiin
Has Printout Attachment Onko PDF-tuloste liitetty
Contains Validation Errors Onko luodussa XML:ssä validointivirheitä (napsauta nähdäksesi tiedot)

Validointi

Sovellus voi validoida luodun Finvoice XML:n ennen lähetystä. Verkkolaskuasetuksissa validointia ohjataan kahdella kentällä.

Finvoice Validation määrittää, mitä tapahtuu validoinnin epäonnistuessa:

Asetus Toiminta
Tyhjä Ei validointia.
Message Validointi suoritetaan ja validoinnin tulos näytetään, mutta vientiä ei estetä.
Error Validointi suoritetaan ja vienti estetään, jos XML on virheellinen.

Finvoice Validation Scope määrittää validoinnin laajuuden:

Asetus Toiminta
Schema Validoi XML:n vain Finvoice XSD -skeemaa vasten.
Schema and Schematron Validoi sekä XSD-skeeman että Schematron-liiketoimintasäännöt.

Voit myös validoida yksittäisiä laskuja työkirjalta Validate Invoice -toiminnolla.


Käyttöoikeudet

Sovellus sisältää käyttöoikeusjoukon e-invoice FMD, joka antaa pääsyn kaikkiin verkkolaskutauluihin ja -objekteihin. Määritä tämä käyttöoikeusjoukko käyttäjille, jotka työskentelevät verkkolaskujen kanssa.


Sovelluksen laajentaminen

Sovellus on suunniteltu laajennettavaksi Vienti-/tuontiasetukset-mallin kautta:

  1. Luo uusi codeunit, joka käsittelee E-Invoice Worksheet FMD -tietueita.
  2. Luo uusi vienti-/tuontiasetustietue, joka osoittaa codeunitiisi.
  3. Käyttäjät voivat valita mukautetun työkirjan käyttääkseen omaa vienti-/tuontilogiikkaasi.

Integrointitapahtumat

Vientimoottorin ydin (Export - Finvoice 3.0 FMD) julkaisee [IntegrationEvent]-tapahtumia XML-luonnin eri vaiheissa. Tilaa nämä tapahtumat omasta laajennuksestasi mukauttaaksesi XML-tuotosta muuttamatta perussovellusta:

Tapahtuma Käyttötarkoitus
OnAfterGetCustomers Muokkaa laskutus-/toimitusosoiteasiakastietoja ennen XML-luontia
OnBeforeAddSellerPartyDetails Muokkaa myyjän tietoja XML-elementissä
OnAfterGetSetBankInformation Muokkaa pankkitilien valintaa
OnBeforeAddInvoiceRecipientPartyDetails Muokkaa laskun vastaanottajan XML-elementtiä
OnBeforeAddBuyerPartyDetails Muokkaa ostajan XML-elementtiä
OnBeforeAddDeliveryPartyDetails Muokkaa tai piilota toimitustiedot
OnBeforeInsertInvoiceRowContent Muokkaa tai ohita yksittäisiä laskurivejä
OnBeforeRowFreeText Lisää sisältöä ennen rivin vapaatekstiä
OnAfterInsertInvoiceRow Lisää elementtejä jokaisen laskurivin jälkeen
OnBeforeEpiDetails Lisää sisältöä ennen maksutietoja (EPI)
OnAfterEpiDetails Lisää sisältöä maksutietojen jälkeen
OnAfterGetSetAttachmentInformation Muokkaa liiteviittauksia
OnBeforeGetInvoiceLines Ohita laskurivien haku
OnAfterGetInvoiceLines Jälkikäsittele laskurivejä
OnAfterGetInvoiceFreeTextBeforeAddToInvoiceDetails Ohita vapaatekstin sisältö
OnAfterinvoiceSoapDataForInvoice Muokkaa SOAP-kirjekuorta

Finvoice XML -standardi

Luotu XML noudattaa:

  • Finvoice 3.0 — Suomalainen verkkolaskustandardi
  • EN 16931 — Eurooppalainen verkkolaskustandardi (kun Skip EN16931 Identifier on pois käytöstä)

XML sisältää asianmukaisen ALV-käsittelyn UN 5305 -veroluokkakoodeilla ja tukee useita ALV-kantoja laskua kohden.