Feature - Faktura-API

E-faktura-API för Peppol-fakturor och kreditnotor

Skicka och ta emot fakturor, kreditnotor, självfakturor och fakturasvar via ett REST-API. Qvalia validerar varje dokument, hittar mottagaren i Peppol och levererar det, och webhooks rapporterar varje status tillbaka till ert system.

Fakturor skickas via Qvalia till Peppol BIS, EDI och Peppol PINT

Dokument

Fakturor och kreditnotor

Samt självfakturering och fakturasvar

Format

JSON eller UBL XML

Baserat på UBL 2.1, ett dokument per anrop

Händelser

Signerade webhooks

Mottagen, levererad, försenad och misslyckad

Tillgänglighet

99,8 % per månad

Enligt avtal, med kreditering vid avvikelse

Skicka en faktura med ett anrop

Skicka fakturan som JSON eller UBL XML till ert kontos utgående endpoint. Qvalia validerar den, slår upp mottagaren i Peppol och levererar den. Kreditnotor, självfaktureringsdokument och fakturasvar följer samma mönster.

  • Testmiljö på api-test.qvalia.com, produktion på api.qvalia.com
  • API-nyckel i Authorization-headern, eller en kortlivad token (JWT)
  • En Idempotency-Key-header gör omförsök säkra

●  ●  ●

Anrop i testmiljön: skicka en faktura

curl -X POST \ “https://api-test.qvalia.com/transaction/$ACCOUNT_REG_NO/invoices/outgoing” \ -H “Authorization: $QVALIA_API_KEY” \ -H “Content-Type: application/json” \ -H “Idempotency-Key: $(uuidgen)” \ -d @invoice.json
curl -X POST \
  "https://api-test.qvalia.com/transaction/$ACCOUNT_REG_NO/invoices/outgoing" \
  -H "Authorization: $QVALIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @invoice.json

Så går en faktura genom API:et

Ert system arbetar mot ett API. Qvalia driftar Peppol-accesspunkten bakom det.

1. Skicka

Skicka ett dokument per anrop. Om data är ogiltiga, eller om mottagaren inte är registrerad för dokumenttypen och ingen annan leveranskanal är uppsatt, svarar API:et med 422 och en stabil felkod, innan något skickas.

2. Validera och leverera

Qvalia kontrollerar dokumentet mot gällande Peppol-regler, hittar mottagarens accesspunkt och levererar dokumentet via AS4.

3. Följ statusen

Webhooks rapporterar leverans, pågående omförsök och fel. Statusendpointen returnerar varje dokuments senaste status utan själva dokumentinnehållet.

4. Ta emot

Inkommande fakturor och svar väntar på de inkommande endpointerna. Läs-endpointen returnerar olästa dokument och markerar dem som lästa, så att nästa anrop bara returnerar nya.

Fakturadokument och endpoints

Alla sökvägar börjar med /transaction/{accountRegNo}, ert kontos organisationsnummer. Varje dokumenttyp har utgående och inkommande endpoints, en läs-endpoint för olästa dokument och en statusendpoint.

DokumentEndpointPeppol-specifikation
Faktura/invoicesPeppol BIS Billing 3.0
Kreditnota/creditnotesPeppol BIS Billing 3.0
Självfaktura/selfbillinginvoicesPeppol BIS Self-Billing
Självfakturerad kreditnota/selfbillingcreditnotesPeppol BIS Self-Billing
Fakturasvar/invoiceresponsesPeppol BIS Invoice Response
Meddelandesvar (MLR)/messagelevelresponsesPeppol BIS Message Level Response

Vilka dokumenttyper ert konto använder beror på tjänst och plan. Scheman för anrop och svar finns i referenserna för Invoice API och Credit Note API. Alla Qvalias API:er finns under Peppol-API:er och utvecklarresurser.

Kontrollera mottagaren innan ni skickar

Slå upp ett Peppol-ID innan ni skickar fakturan. Svaret visar om mottagaren är registrerad i Peppol och vilka dokumenttyper den kan ta emot, så att ert system kan flagga ett saknat eller felaktigt ID innan nätverket avvisar fakturan.

  • Begränsa kontrollen till en dokumenttyp med docTypeRoot, till exempel Invoice eller CreditNote
  • Peppol-ID anges som schema och identifierare, till exempel 0007:1234567890
  • Samma bas-URL:er och autentisering som Transaction API

●  ●  ●

Anrop i testmiljön: slå upp en mottagare

curl \ “https://api-test.qvalia.com/account/$ACCOUNT_REG_NO/action/lookup/peppol/0007:1234567890?docTypeRoot=Invoice” \ -H “Authorization: $QVALIA_API_KEY”
curl \
"https://api-test.qvalia.com/account/$ACCOUNT_REG_NO/action/lookup/peppol/0007:1234567890?docTypeRoot=Invoice" \
-H "Authorization: $QVALIA_API_KEY"

Byggt för integrationer i produktion

Detaljerna som avgör om en integration håller vid stora volymer, alla dokumenterade i API-referensen.

  • Säkra omförsök
    Skicka en Idempotency-Key, så returnerar ett upprepat anrop det ursprungliga svaret i stället för att skapa en andra faktura.
  • Signerade webhooks
    Varje händelse har ett händelse-ID och, när ni har angett en signeringsnyckel, en signatur som ni kan verifiera.
  • Händelser kan hämtas igen i 30 dagar
    Hämta en levererad händelse igen med dess ID, till exempel efter driftstopp hos er.
  • Status utan dokumentinnehåll
    Stäm av stora volymer med lätta statusposter, filtrerade på datum, dokument-ID eller uppdateringstid.
  • Tydliga anropsgränser
    Gränserna räknas per konto, och ett 429-svar anger hur länge ni ska vänta.
  • Bilagor
    Lägg till PDF-filer och bilder i meddelandet. Hela anropet, inklusive Base64-kodade bilagor, måste hålla sig under Peppols gräns på 100 MB.

En faktura, i det format varje mottagare behöver

Skicka fakturan en gång. Qvalia validerar den, slår upp mottagaren och levererar den i Peppol-nätverket som Peppol BIS Billing 3.0 eller Peppol PINT. När mottagaren inte finns i Peppol kan Qvalia leverera via EDI, PDF via e-post, utskrift och internetbank (B2C) på utvalda marknader. Det är kompletterande leveranskanaler, inte Peppol-specifikationer. Se vilka format för affärsmeddelanden Qvalia hanterar.

Om ert system inte kan skapa Peppol BIS laddar ni upp fakturan i det format systemet redan skapar: Svefaktura 1.0, EDIFACT INVOIC, cXML, Finvoice 3.0, XRechnung, CII eller XML-filen i ZUGFeRD och Factur-X. Qvalia konverterar den till Peppol BIS Billing 3.0, validerar den och skickar den. Läs mer om att skicka fakturor i ert befintliga format.

En faktura levererad i det format varje mottagare behöverErt affärssystem eller er plattform skickar fakturan till Qvalia som JSON eller UBL XML. Qvalia validerar den, slår upp mottagaren, konverterar den och levererar den som Peppol BIS Billing 3.0 eller Peppol PINT i Peppol-nätverket, eller via EDI, PDF via e-post, utskrift eller internetbank (B2C) på utvalda marknader. Fakturasvar och status går tillbaka till ert system.ERP eller plattformJSON eller UBL XML via APIQvaliaPeppol-accesspunktValideraPeppol-regler före utskickSlå upp mottagarenUppslag i SML och SMPKonverteraTill mottagarens formatLeverera och rapporteraStatus via webhook och APIPeppol-nätverketFler kanaler, utvalda marknaderPeppol BIS Billing 3.0Peppol PINTEDIPDF via e-postUtskriftInternetbank (B2C)Fakturasvar och statusPeppol BIS Billing 3.0Peppol PINTEDIPDF via e-postSpend Analytics 48ERP eller plattformJSON eller UBL XML via API
En faktura levererad i det format varje mottagare behöverErt affärssystem eller er plattform skickar fakturan till Qvalia som JSON eller UBL XML. Qvalia validerar den, slår upp mottagaren, konverterar den och levererar den som Peppol BIS Billing 3.0 eller Peppol PINT i Peppol-nätverket, eller via EDI, PDF via e-post, utskrift eller internetbank (B2C) på utvalda marknader. Fakturasvar och status går tillbaka till ert system.ERP eller plattformJSON eller UBL XML via APIQvaliaValiderar, slår upp mottagaren,konverterar och levererarPeppol-nätverketFler kanalerPeppol BIS Billing 3.0Peppol PINTEDIPDF via e-postUtskriftInternetbank (B2C)Fler kanaler finns på utvalda marknader.Peppol BIS Billing 3.0Peppol PINTEDIPDF via e-postSpend Analytics 48ERP eller plattformJSON eller UBL XML via API

Välj er startpunkt

Mjukvaruplattformar

Inbyggd Peppol

Erbjud e-fakturering till era egna kunder. Partner-API:et skapar deras konton och Peppol-ID:n, och faktura-API:et hanterar deras dokument.

Affärssystem och ekonomiteam

Peppol-accesspunkt

Anslut ert affärs- eller ekonomisystem till Peppol via API:et, SFTP eller en färdig koppling.

Utvecklare

Snabbstartsguide

Från API-nyckel till er första testfaktura, steg för steg, med exempel på anrop.

Vanliga frågor om faktura-API:et

Vad är ett e-faktura-API?

Med ett e-faktura-API kan er programvara skicka och ta emot strukturerade elektroniska fakturor utan att bygga nätverksanslutningen själv. Med Qvalias faktura-API skickar ert system fakturor som JSON eller UBL XML, och Qvalia validerar dem och levererar dem via Peppol-nätverket.

Vilka fakturadokument kan vi skicka och ta emot?

Fakturor, kreditnotor, självfakturor och självfakturerade kreditnotor samt fakturasvar, var och en med utgående och inkommande endpoints. Vilka dokumenttyper ert konto använder beror på tjänst och plan.

Behöver vi kunna Peppol BIS för att använda API:et?

Era dokument följer Peppol BIS Billing 3.0, i JSON eller XML baserat på UBL 2.1. Exempeldata på api.qvalia.io visar en komplett faktura, och valideringsfelen pekar ut vilken regel som behöver åtgärdas. Läs Så fungerar Peppol-validering.

Finns det en testmiljö?

Ja. Testmiljön på api-test.qvalia.com har en egen API-nyckel, så ni kan testa mot era egna system utan att påverka riktiga kunder. API och testmiljö ingår från planen Connect Medium.

Hur undviker vi att skicka samma faktura två gånger?

Skicka en Idempotency-Key-header med varje anrop. Om ni upprepar anropet, till exempel efter en timeout, returnerar API:et det ursprungliga svaret i stället för att skapa ett andra dokument. Ett nytt anrop med samma dokument-ID och mottagare returnerar 409 Conflict, om ni inte väljer att skriva över.

Hur vet vi att en faktura har levererats?

Prenumerera på webhooks för leverans- och felhändelser, eller läs statusendpointen. En webhook som er endpoint inte tar emot skickas inte igen, så behåll en regelbunden statuskontroll som skyddsnät. Varje levererad händelse kan hämtas igen i 30 dagar.

Hur tar vi emot inkommande fakturor?

Prenumerera på webhooken för nya dokument och hämta sedan fakturan från den inkommande endpointen. Läs-endpointen returnerar olästa fakturor och markerar dem som lästa.

Vad kostar faktura-API:et?

API-åtkomst ingår från planen Connect Medium. Priser för partner och större företag beror på volym och leveransmodell. Se Planer och priser.

Alla funktioner