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
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.
| Dokument | Endpoint | Peppol-specifikation |
| Faktura | /invoices | Peppol BIS Billing 3.0 |
| Kreditnota | /creditnotes | Peppol BIS Billing 3.0 |
| Självfaktura | /selfbillinginvoices | Peppol BIS Self-Billing |
| Självfakturerad kreditnota | /selfbillingcreditnotes | Peppol BIS Self-Billing |
| Fakturasvar | /invoiceresponses | Peppol BIS Invoice Response |
| Meddelandesvar (MLR) | /messagelevelresponses | Peppol 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 exempelInvoiceellerCreditNote - 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"
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.
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.