Kuidas saata e-arveid API kaudu? Arendaja sissejuhatus

E-arvete saatmiseks oma rakendusest liidestud sertifitseeritud ligipääsupunkti ehk Access Point’i API-ga: POST-id arve andmed, operaator valideerib need Euroopa standardi vastu, toimetab arve Peppol’i võrgu kaudu saaja operaatorini ja annab staatuse sulle tagasi. Sul ei ole vaja endal operaatoriks hakata, AS4-transporti käitada ega võrgu siseelu tundma õppida – just selleks ligipääsupunkt olemas ongi. Vaja on kolme asja: saaja elektroonilist aadressi, valideerimist läbivaid arveandmeid ja teenusepakkujat, kelle API sinu tehnoloogiaga sobib.

Mis on e-arve tehniliselt?

E-arve on struktureeritud XML-dokument, mis vastab Euroopa standardile EN 16931; kõige levinum profiil on Peppol BIS Billing 3.0 ehk sama standardi rakendus. E-kirja külge pandud PDF ei ole e-arve – masin ei saa seda ilma pilditustuvastuseta raamatupidamisse postitada. Enamik ligipääsupunktide API-sid võtab vastu UBL XML-i, osa ka JSON-i, millest XML genereeritakse.

Kuidas kohaletoimetamine käib?

Võrk töötab nelja nurga mudelil: sinu süsteem → sinu ligipääsupunkt → saaja ligipääsupunkt → saaja tarkvara. Saajat adresseerib Peppol’i ID kujul `{skeem}:{tunnus}` – Eesti ettevõttel näiteks `0191:` + äriregistri kood. Kas saaja on võrgus ja mis dokumenditüüpe ta vastu võtab, on avalik info: kontrolli Peppol Directory’st või teenusepakkuja otsingu-otspunktist enne saatmist. Mudel on nagu e-post, ainult sertifitseeritud operaatorite ja päriselt midagi tähendava kättetoimetamiskviitungiga.

Milline integratsioon välja näeb?

Tüüpiline voog on neli sammu. Otsi saaja Peppol’i ID. POST-i arve API-sse: hea teenusepakkuja valideerib sünkroonselt ja tagastab struktureeritud vead, nii et katkine arve kukub läbi sinu testides, mitte kolm päeva hiljem. Jälgi kohaletoimetamist veebihaagi ehk webhook’i või staatuse-otspunkti kaudu, sest transport on asünkroonne. Ja tee kõik enne läbi liivakastis: dokumenteeritud API puhul on esimene testdokument ühe tööpäevaga realistlik ootus.

Mida teenusepakkuja valikul kontrollida?

Neli asja eristavad pakkujaid: sertifitseeritud ligipääsupunkti staatus (akrediteering on operaatoril, mitte sinul), sünkroonne valideerimine arusaadavate veateadetega, saaja otsing API-s endas ning liivakast eraldi võtmetega. Kui võtad arveid ka vastu, lisa nimekirja veebihaagid sissetulevatele dokumentidele. Millal e-arve kohustuslik on, sõltub riigist. Balti pildi leiad meie ülevaadetest Eesti kohta ning Läti ja Leedu kohta.

Do I need Peppol certification to send e-invoices from my app?

No. Certification belongs to the Access Point operator. Your application calls the operator’s API; the operator handles AS4 transport, validation and network membership.

What format does an e-invoice API accept?

Most accept UBL XML conforming to EN 16931 / Peppol BIS Billing 3.0; some also accept JSON and generate the XML. A PDF is not an e-invoice.

How do I address the recipient of an e-invoice?

By Peppol ID: {scheme}:{identifier}, e.g. 0191:business-registry-code for Estonian companies. Reachability is public in the Peppol Directory.

How long does an e-invoicing API integration take?

With a documented REST API and sandbox, sending a first test document within one working day is realistic; production readiness depends on your invoice data quality.