Peppox Developer Platform

Stuur uw eerste factuur via Peppol, stap voor stap.

Kies de route die bij uw systeem past: van de eerste API-call tot de opvolging van de levering.

PEPPOX / INTEGRATION FLOW
  1. 01Dashboard
  2. 02API-sleutel
  3. 03Factuur
  4. 04Valideren
  5. 05Peppol
READY TO BUILD
01 · Voor de eerste call

Vier zaken die u één keer voorbereidt

Werk eerst uw account en leveranciersprofiel af. Daarna gebruikt uw toepassing dezelfde gegevens voor elk document.

  1. 01

    Maak uw Peppox-account

    Registreer de juridische onderneming die documenten verstuurt.

  2. 02

    Vul het leveranciersprofiel in

    Bedrijfs-, btw-, bank- en Peppol-routeringsgegevens komen uit uw account.

  3. 03

    Open de integratieomgeving

    Test veilig met de dashboardtools voordat u naar productie gaat.

  4. 04

    Kopieer uw API-sleutel

    Bewaar hem uitsluitend op uw server; nooit in browser- of mobiele code.

02 · Kies de kortste route

Vertrek van de gegevens die u al hebt

GROEP 2 · GESTRUCTUREERDE FACTUUR-APIERP / boekhouding / SaaS
{ }

Bouw en beheer elk documentveld.

Gebruik deze endpointreeks wanneer uw ERP of software de factuurgegevens beheert en nauwkeurige controle nodig heeft over hoofding, regels, PDF en UBL XML.

  1. Hoofding
  2. Documentregels
  3. PDF-bijlage
  4. UBL XML genereren
  5. Beheren en volgen
Bekijk dit proces →
03 · PDF2Peppol

Een volledige verzending in vier API-calls

De meest directe gedocumenteerde route wanneer uw systeem al PDF-facturen maakt.

  1. 01

    Upload de PDF

    Stuur een bestand, Base64-inhoud of URL en bewaar de queue_guid.

    POST/pdf2peppol/add
  2. 02

    Controleer de uitgelezen gegevens

    Vraag de status op tot de verwerking klaar is en controleer koper, totalen, btw en regels.

    GET/pdf2peppol/check
  3. 03

    Bevestig het document

    Bevestig pas wanneer alle uitgelezen factuurgegevens correct zijn.

    POST/pdf2peppol/confirm
  4. 04

    Verstuur naar Peppol

    Verstuur het bevestigde document en bewaar de document-GUID.

    POST/pdf2peppol/send
Minimaal voorbeeld

Upload → check → confirm → send

Vervang de voorbeeldwaarden door uw sleutel en de identificatoren uit de vorige call.

pdf2peppol.sh
curl -X POST "https://api.peppox.com/pdf2peppol/add/" \
  -F "supplier_id=YOUR_SUPPLIER_ID" \
  -F "document_type_code=380" \
  -F "pdf_file=@invoice.pdf"

# Save queue_guid, then check it
curl "https://api.peppox.com/pdf2peppol/check/?supplier_id=YOUR_SUPPLIER_ID&queue_guid=QUEUE_GUID"

curl -X POST "https://api.peppox.com/pdf2peppol/confirm/" \
  -d "supplier_id=YOUR_SUPPLIER_ID" \
  -d "queue_guid=QUEUE_GUID"

curl -X POST "https://api.peppox.com/pdf2peppol/send/" \
  -d "supplier_id=YOUR_SUPPLIER_ID" \
  -d "queue_guid=QUEUE_GUID"
04 · Gestructureerde factuur-API

Bouw een Peppol-klare factuur uit uw gegevens

Ideaal wanneer uw ERP elk factuurveld en elke regel al gestructureerd bewaart.

  1. 01

    Maak de hoofding

    Stuur klant, datums, valuta, betaling en levering en bewaar invoice_guid.

    POST/invoice/add
  2. 02

    Voeg de regels toe

    Herhaal de call voor elk product of elke dienst.

    POST/invoice_line/add
  3. 03

    Koppel de PDF (optioneel)

    Voeg de leesbare factuur toe via bestand, Base64 of URL.

    POST/invoice_attach_pdf/add
  4. 04

    Genereer en verstuur de UBL XML

    Peppox maakt de UBL XML voor een factuur of creditnota. Wanneer deze geldig is, verstuurt de geconfigureerde Peppox-flow deze via Peppol; een aparte gestructureerde /send-call is niet nodig.

    POST/xml/generate
  5. 05

    Volg en beheer

    Bekijk document en status in het dashboard of via de API voor verzonden documenten.

    GET/doc-sent/header/list
API NOTE

Belangrijk: /xml/generate/ is gedeeld door facturen en creditnota’s. Een succesvolle XML_BUILT-respons betekent dat Peppox het document heeft gegenereerd en de geconfigureerde Peppol-verzending voortzet. Er is geen bijkomend gestructureerd /send-endpoint.

07 · Volledige API-referentie

Elk ondersteund endpoint met het exacte contract.

Parameters, geldige formaten, kant-en-klare aanvragen en representatieve geslaagde antwoorden. Technische veldnamen blijven bewust Engels zodat ze exact met de API overeenkomen.

01

PDF2Peppol · complete PDF send flow

POST/pdf2peppol/add/ Upload a PDF and create the conversion queue
Authenticatie: supplier_id is the active Company API key. Aliases: apikey, api_key.Geaccepteerde aanvraagformaten: GET or POST; multipart, form data or JSON

Verplicht

ParameterFormatDescription
supplier_idstringAccount API key.
PDF sourcefile or stringProvide exactly one: multipart pdf / file / invoice_pdf / document / pdf_file; or pdf_base64 / content_base64; or pdf_url / file_url / document_url / url.

Optioneel

ParameterFormatDescription
document_type_code380 or 381380 by default; 381 is a credit note. Aliases: invoice_type_code, document_type, type.
networkproduction or integrationproduction by default. Aliases: net_work, environment.
filenamestringUsed with a Base64 or URL source; a .pdf extension is normalised.

Voorbeeldaanvraag

curl -X POST "https://api.peppox.com/pdf2peppol/add/" \
  -F "supplier_id=YOUR_API_KEY" \
  -F "document_type_code=380" \
  -F "network=integration" \
  -F "pdf_file=@invoice.pdf"

Voorbeeld van een geslaagd antwoord

{
  "success": true,
  "queue_guid": "pdf-…",
  "status": "pending",
  "document_type_code": "380",
  "network": "integration",
  "monthly_limit": {"limit": 50, "used": 3}
}

Implementatienotities

  • Maximum PDF size: 15 MB. The file must start with a valid PDF signature.
  • Store queue_guid. It is the state identifier for check, confirm and send.
  • The response contains the account monthly PDF conversion quota state.
GET/pdf2peppol/check/ Read extraction results and Peppol readiness
Authenticatie: supplier_id is the active Company API key. Aliases: apikey, api_key.Geaccepteerde aanvraagformaten: GET or POST; query string, form data or JSON

Verplicht

ParameterFormatDescription
supplier_idstringSame value used at upload.
queue_guidstringThe queue GUID returned by /pdf2peppol/add/. Alias: guid.

Voorbeeldaanvraag

curl "https://api.peppox.com/pdf2peppol/check/?supplier_id=YOUR_API_KEY&queue_guid=QUEUE_GUID"

Voorbeeld van een geslaagd antwoord

{
  "success": true,
  "queue": {"queue_guid": "pdf-…", "confirmed": false},
  "peppol_readiness": {"ready_for_peppol": true, "missing_required_fields": []},
  "converted_data": {"header": {}, "lines_count": 2, "lines": []}
}

Implementatienotities

  • Poll this endpoint while conversion is pending; do not call confirm until ready_for_peppol is true.
  • Review missing_required_fields, header values, line values and totals before confirming.
POST/pdf2peppol/confirm/ Confirm the converted document
Authenticatie: supplier_id is the active Company API key. Aliases: apikey, api_key.Geaccepteerde aanvraagformaten: GET or POST; query string, form data or JSON

Verplicht

ParameterFormatDescription
supplier_idstringSame account key.
queue_guidstringThe queue GUID returned by upload. Alias: guid.

Voorbeeldaanvraag

curl -X POST "https://api.peppox.com/pdf2peppol/confirm/" \
  -d "supplier_id=YOUR_API_KEY" \
  -d "queue_guid=QUEUE_GUID"

Voorbeeld van een geslaagd antwoord

{
  "success": true,
  "verification_confirmed": true,
  "ready_for_peppol": true,
  "send_status": "ready",
  "missing_fields": []
}

Implementatienotities

  • Confirmation is refused if mandatory converted data is missing.
  • Confirm is a separate explicit action; uploading alone never sends the document.
POST/pdf2peppol/send/ Send the confirmed document through Peppol
Authenticatie: supplier_id is the active Company API key. Aliases: apikey, api_key.Geaccepteerde aanvraagformaten: GET or POST; query string, form data or JSON

Verplicht

ParameterFormatDescription
supplier_idstringSame account key.
queue_guidstringA confirmed and ready queue GUID. Alias: guid.

Voorbeeldaanvraag

curl -X POST "https://api.peppox.com/pdf2peppol/send/" \
  -d "supplier_id=YOUR_API_KEY" \
  -d "queue_guid=QUEUE_GUID"

Voorbeeld van een geslaagd antwoord

{
  "success": true,
  "queue_guid": "pdf-…",
  "peppox_document_guid": "…",
  "send_status": "sent",
  "steps": {"document_create": "ok", "xml_generate": "ok"}
}

Implementatienotities

  • The endpoint is idempotent for an already sent queue: it returns the existing sent state.
  • It checks document number, date, buyer identity/address and converted lines again before dispatch.
02

Structured sales invoice

POST/invoice/add/ Create an invoice header
Authenticatie: apikey or api_key is required.Geaccepteerde aanvraagformaten: GET or POST; JSON or form data

Verplicht

ParameterFormatDescription
apikeystringAccount API key.
inv_idstringYour unique invoice number; needed before UBL generation.
issue_dateYYYY-MM-DDInvoice issue date.
customer.endpoint_idstringBuyer Peppol endpoint identifier.
customer.namestringBuyer legal or trading name.
customer.street / city / postal / countrystringsBuyer postal address; needed for a Peppol-ready document.

Optioneel

ParameterFormatDescription
due_dateYYYY-MM-DDDefaults to issue_date at XML generation if omitted.
invoice_type_code380380 by default for a sales invoice.
currencyISO 4217EUR by default.
buyer_reference, accounting_coststringAccounting references.
payment.*objectmeans_code, payment_id, iban, account_name, bic, terms_note.
delivery.*objectdate, location_scheme, location_id, street, city, postal, country, party_name.
networkstringAlias: net_work. Supplier identity and bank IBAN come from the Company profile.

Voorbeeldaanvraag

curl -X POST "https://api.peppox.com/invoice/add/" \
  -H "Content-Type: application/json" \
  -d '{
    "apikey": "YOUR_API_KEY",
    "inv_id": "INV-2026-0042",
    "issue_date": "2026-09-11",
    "currency": "EUR",
    "customer": {
        "endpoint_scheme": "0208",
        "endpoint_id": "0123456789",
        "name": "Buyer Ltd",
        "street": "Main Street 1",
        "city": "Brussels",
        "postal": "1000",
        "country": "BE"
    }
}'

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "invoice_guid": "…",
  "status": "DRAFT"
}

Implementatienotities

  • Save invoice_guid. It connects the header, every line, optional PDF and generated XML.
  • Supplier name, address, identifiers and payee IBAN are sourced from the configured Company profile.
POST/invoice_line/add/ Add one sales invoice line
Authenticatie: apikey or api_key is required.Geaccepteerde aanvraagformaten: GET or POST; JSON or form data

Verplicht

ParameterFormatDescription
apikeystringAccount API key.
invoice_guidstringGUID returned by /invoice/add/. Alias: guid.
quantitydecimalQuantity for the line.
unit_codeUNECE unit codeFor example C62 for one unit.
price_amountdecimalUnit price excluding VAT.
item_description / item_namestringLine description and item name.
tax_percentdecimalVAT rate; the API maps positive rates to category S and 0 to Z.

Optioneel

ParameterFormatDescription
line_idstringAlias: order_line_id; a GUID is generated if omitted.
seller_item_idstringAliases: seller_id, sku.
std_item_idstringAliases: gtin, ean.
std_item_id_schemestring0088 by default.
origin_countryISO country codeAlias: country.

Voorbeeldaanvraag

curl -X POST "https://api.peppox.com/invoice_line/add/" \
  -H "Content-Type: application/json" \
  -d '{
    "apikey": "YOUR_API_KEY",
    "invoice_guid": "INVOICE_GUID",
    "line_id": "1",
    "quantity": "2",
    "unit_code": "C62",
    "price_amount": "49.50",
    "item_name": "Consulting",
    "item_description": "Consulting service",
    "tax_percent": "21"
}'

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "line_guid": "…"
}

Implementatienotities

  • Call once per line before XML generation.
  • Use decimal values with a dot in new integrations.
POST/invoice_attach_pdf/add/ Attach or replace the invoice PDF
Authenticatie: apikey or api_key is required.Geaccepteerde aanvraagformaten: GET or POST; multipart, JSON or form data

Verplicht

ParameterFormatDescription
apikeystringAccount API key.
invoice_guidstringGUID returned by /invoice/add/. Alias: guid.
PDF sourcefile or stringProvide one: multipart file; content_base64 / pdf_base64; or file_url / pdf_url (HTTP or HTTPS).

Optioneel

ParameterFormatDescription
doc_idstringDefaults to inv_id or a generated UUID.
filenamestringattachment.pdf by default.
mimestringapplication/pdf by default.

Voorbeeldaanvraag

curl -X POST "https://api.peppox.com/invoice_attach_pdf/add/" \
  -F "apikey=YOUR_API_KEY" \
  -F "invoice_guid=INVOICE_GUID" \
  -F "file=@invoice.pdf"

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "invoice_guid": "…",
  "doc_id": "INV-2026-0042",
  "filename": "invoice.pdf",
  "mime": "application/pdf",
  "size_bytes": 248512
}

Implementatienotities

  • A new attachment replaces the previous attachment for the same invoice GUID.
  • For a URL source, Peppox downloads the file server-side; only http and https are accepted.
POST/xml/generate/ Generate XML and submit a sales invoice to Peppol
Authenticatie: apikey or api_key is required.Geaccepteerde aanvraagformaten: GET or POST; JSON or form data

Verplicht

ParameterFormatDescription
apikeystringAccount API key.
invoice_guidstringRequired for an invoice. Use the GUID returned by /invoice/add/; guid is accepted as an alias.

Optioneel

ParameterFormatDescription
networkstringStored operational network value.

Voorbeeldaanvraag

curl -X POST "https://api.peppox.com/xml/generate/" \
  -d "apikey=YOUR_API_KEY" \
  -d "invoice_guid=INVOICE_GUID"

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "status": "XML_BUILT",
  "xml_path": "…",
  "document_type": "INVOICE"
}

Implementatienotities

  • Use only after the invoice header and every invoice line have been saved.
  • The invoice header determines document type 380. Do not add a separate document-type parameter to this call.
  • Peppox calculates totals and VAT subtotals from the saved invoice lines.
  • This is the final structured-invoice call: it creates the UBL XML and, when it is valid, continues the configured Peppol submission. There is no extra structured /send endpoint.
03

Structured credit note

POST/creditnote/add/ Create a credit note header
Authenticatie: apikey or api_key is required.Geaccepteerde aanvraagformaten: GET or POST; JSON or form data

Verplicht

ParameterFormatDescription
apikeystringAccount API key.
creditnote_idstringCredit note number. Aliases: cn_id, credit_note_id, inv_id.
issue_dateYYYY-MM-DDCredit note issue date.
customer.endpoint_id / name / addressobjectBuyer endpoint, name, street, city, postal code and country.

Optioneel

ParameterFormatDescription
invoice_type_code381381 by default for a credit note.
due_date, currency, buyer_reference, accounting_costvaluesSame meaning as /invoice/add/.
payment.*, delivery.*, networkobjects / stringSame field structure as /invoice/add/.

Voorbeeldaanvraag

curl -X POST "https://api.peppox.com/creditnote/add/" \
  -H "Content-Type: application/json" \
  -d '{
    "apikey": "YOUR_API_KEY",
    "creditnote_id": "CN-2026-001",
    "issue_date": "2026-09-11",
    "customer": {
        "endpoint_id": "0123456789",
        "name": "Buyer Ltd",
        "street": "Main Street 1",
        "city": "Brussels",
        "postal": "1000",
        "country": "BE"
    }
}'

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "invoice_guid": "…",
  "document_type": "CREDIT_NOTE",
  "status": "DRAFT"
}

Implementatienotities

  • Save invoice_guid; it is also accepted by later credit-note endpoints.
  • Supplier profile data is loaded from the Company configuration.
POST/creditnote_line/add/ Add one credit note line
Authenticatie: apikey or api_key is required.Geaccepteerde aanvraagformaten: GET or POST; JSON or form data

Verplicht

ParameterFormatDescription
apikeystringAccount API key.
creditnote_guidstringGUID returned by /creditnote/add/. Aliases: invoice_guid, guid.
quantitydecimalRequired.
price_amountdecimalRequired unit price.
unit_code, item_name, item_description, tax_percentvaluesUse the same structure as /invoice_line/add/.

Optioneel

ParameterFormatDescription
line_id, seller_item_id, std_item_id, std_item_id_scheme, origin_countryvaluesSame aliases and defaults as sales invoice lines.

Voorbeeldaanvraag

curl -X POST "https://api.peppox.com/creditnote_line/add/" \
  -d "apikey=YOUR_API_KEY" \
  -d "creditnote_guid=CREDITNOTE_GUID" \
  -d "quantity=1" -d "unit_code=C62" \
  -d "price_amount=49.50" -d "item_name=Refund" \
  -d "item_description=Service refund" -d "tax_percent=21"

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "line_guid": "…"
}

Implementatienotities

  • Tax category is automatically S for a positive rate and Z for zero rate.
  • Add every line before generating XML.
POST/creditnote_attach_pdf/add/ Attach or replace the credit note PDF
Authenticatie: apikey or api_key is required.Geaccepteerde aanvraagformaten: GET or POST; multipart, JSON or form data

Verplicht

ParameterFormatDescription
apikeystringAccount API key.
creditnote_guidstringCredit note GUID. Aliases: invoice_guid, guid.
PDF sourcefile or stringmultipart file, content_base64 / pdf_base64, or HTTP(S) file_url / pdf_url.

Optioneel

ParameterFormatDescription
doc_id, filename, mimevaluesSame meaning and defaults as the sales invoice attachment endpoint.

Voorbeeldaanvraag

curl -X POST "https://api.peppox.com/creditnote_attach_pdf/add/" \
  -F "apikey=YOUR_API_KEY" \
  -F "creditnote_guid=CREDITNOTE_GUID" \
  -F "file=@credit-note.pdf"

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "creditnote_guid": "…",
  "doc_id": "CN-2026-001",
  "filename": "credit-note.pdf",
  "size_bytes": 194221
}

Implementatienotities

  • The endpoint verifies that the referenced document exists and is type 381.
  • A new attachment replaces the previous credit note attachment.
POST/xml/generate/ Generate XML and submit a credit note to Peppol
Authenticatie: apikey or api_key is required.Geaccepteerde aanvraagformaten: GET or POST; JSON or form data

Verplicht

ParameterFormatDescription
apikeystringAccount API key.
creditnote_guidstringRequired for a credit note. Use the GUID returned by /creditnote/add/; invoice_guid or guid are accepted aliases.

Optioneel

ParameterFormatDescription
networkstringStored operational network value.

Voorbeeldaanvraag

curl -X POST "https://api.peppox.com/xml/generate/" \
  -d "apikey=YOUR_API_KEY" \
  -d "creditnote_guid=CREDITNOTE_GUID"

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "status": "XML_BUILT",
  "xml_path": "…",
  "document_type": "CREDIT_NOTE"
}

Implementatienotities

  • Use only after the credit-note header and every credit-note line have been saved.
  • The credit-note header determines document type 381. Do not add a separate document-type parameter to this call.
  • Peppox calculates totals and VAT subtotals from the saved credit-note lines.
  • This is the final structured-credit-note call: it creates the UBL XML and, when it is valid, continues the configured Peppol submission. There is no extra structured /send endpoint.
04

Document retrieval and operations

GET/invoice/list/ List stored structured invoice records
Authenticatie: apikey query/form value, or Authorization: Bearer API_KEY.Geaccepteerde aanvraagformaten: GET or POST; apikey can also be an Authorization: Bearer token

Verplicht

ParameterFormatDescription
apikeystringAccount API key.

Optioneel

ParameterFormatDescription
profilemini | customer | fullSelects a field preset.
fieldscomma-separated namesOverrides the preset with allowed fields.
invoice_guid, inv_id, status, networkstringsExact filters.
from, toYYYY-MM-DDIssue-date range.
limit, offsetintegerslimit defaults to 100 and is capped at 500.
pretty1Pretty-prints JSON.

Voorbeeldaanvraag

curl "https://api.peppox.com/invoice/list/?apikey=YOUR_API_KEY&profile=mini&status=XML_BUILT&limit=50"

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "count": 1,
  "fields": ["invoice_guid", "inv_id", "status"],
  "filters": {"status": "XML_BUILT", "limit": 50},
  "data": [{"invoice_guid": "…", "inv_id": "INV-2026-0042", "status": "XML_BUILT"}]
}

Implementatienotities

  • Use this for operational data saved by the structured flow.
  • For delivery-oriented sent status and richer filters, prefer /doc-sent/header/list/.
GET/doc-sent/header/list/ List sent document headers
Authenticatie: supplier_id is the account API key associated with the documents.Geaccepteerde aanvraagformaten: GET, POST or JSON body

Verplicht

ParameterFormatDescription
supplier_idstringAccount API key / supplier identifier.

Optioneel

ParameterFormatDescription
page, per_pageintegerspage defaults to 1; per_page defaults to 300 and is capped at 300.
qstringKeyword search across indexed document fields.
date, date_from, date_toYYYY-MM-DDExact day or date range.
date_fieldfield nameissue_date, due_date, delivery_date, xml_built_at, sent_at, created_at, updated_at or status_from_peppol_date; sent_at by default.
status_from_peppol / statusstring or CSVOne or more Peppol statuses.
local_statusstring or CSVOne or more local invoice statuses.
include_raw, search_raw1 / trueInclude or search raw upstream fields.
sort_by, sort_dirfield / ASC|DESCsent_at and DESC by default.

Voorbeeldaanvraag

curl "https://api.peppox.com/doc-sent/header/list/?supplier_id=YOUR_API_KEY&page=1&per_page=50&status=accepted&date_from=2026-09-01"

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "endpoint": "doc-sent/header/list",
  "pagination": {"page": 1, "per_page": 50, "total": 1, "has_next": false},
  "data": [{"invoice_guid": "…", "inv_id": "INV-2026-0042", "status_from_peppol": "accepted"}]
}

Implementatienotities

  • CSV separators accepted for statuses: comma, semicolon or pipe.
  • Keep include_raw disabled unless you explicitly need the upstream raw payload.
GET/doc-sent/lines/list/ List lines of one sent document
Authenticatie: supplier_id is the account API key associated with the invoice.Geaccepteerde aanvraagformaten: GET query string

Verplicht

ParameterFormatDescription
supplier_idstringAccount API key / supplier identifier.
invoice_guidstringGUID returned by the sent-header list.

Optioneel

ParameterFormatDescription
qstringSearch line fields.
page, per_pageintegerspage 1 and per_page 300 by default; maximum 300.

Voorbeeldaanvraag

curl "https://api.peppox.com/doc-sent/lines/list/?supplier_id=YOUR_API_KEY&invoice_guid=INVOICE_GUID&page=1&per_page=100"

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "invoice": {"invoice_guid": "…", "inv_id": "INV-2026-0042"},
  "pagination": {"page": 1, "total": 2},
  "data": [{"line_id": "1", "quantity": "2", "price_amount": "49.50"}]
}

Implementatienotities

  • The API verifies that the invoice belongs to the supplied supplier_id before returning lines.
GET/doc-received/header/list/ List received document headers
Authenticatie: supplier_id is the account API key / Company supplier identifier.Geaccepteerde aanvraagformaten: GET, POST or JSON body

Verplicht

ParameterFormatDescription
supplier_idstringAccount API key / supplier identifier.

Optioneel

ParameterFormatDescription
page, per_pageintegerspage 1 and per_page 300 by default; maximum 300.
qstringKeyword search.
date, date_from, date_toYYYY-MM-DDExact day or range.
date_fieldfield nameapi_created_at by default; issue_date, due_date, tax_point_date, created_at and updated_at are supported.
import_status / statusstring or CSVOne or more import statuses.
document_type_code / type_codestring or CSVFilter by document type, for example 380 or 381.
include_raw, search_raw1 / trueInclude or search raw XML/parser fields.
sort_by, sort_dirfield / ASC|DESCapi_created_at and DESC by default.

Voorbeeldaanvraag

curl "https://api.peppox.com/doc-received/header/list/?supplier_id=YOUR_API_KEY&document_type_code=380&date_from=2026-09-01&per_page=50"

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "endpoint": "doc-received/header/list",
  "pagination": {"page": 1, "per_page": 50, "total": 1},
  "data": [{"document_id": "…", "document_number": "SUP-1048", "supplier_name": "Supplier Ltd", "payable_amount": "1250.00"}]
}

Implementatienotities

  • Use document_id from this result to retrieve the received document lines.
  • Keep raw XML and parser output disabled unless required.
GET/doc-received/lines/list/ List lines of one received document
Authenticatie: supplier_id is the account API key / Company supplier identifier.Geaccepteerde aanvraagformaten: GET, POST or JSON body

Verplicht

ParameterFormatDescription
supplier_idstringAccount API key / supplier identifier.
document_idstringflowin_document_id returned by /doc-received/header/list/.

Optioneel

ParameterFormatDescription
qstringSearch line fields.
page, per_pageintegerspage 1 and per_page 300 by default; maximum 300.
include_raw, search_raw1 / trueInclude or search raw_line_xml and parser_json.
sort_by, sort_dirfield / ASC|DESCline_no and ASC by default.

Voorbeeldaanvraag

curl "https://api.peppox.com/doc-received/lines/list/?supplier_id=YOUR_API_KEY&document_id=DOCUMENT_ID&per_page=100"

Voorbeeld van een geslaagd antwoord

{
  "ok": true,
  "invoice": {"document_id": "…", "document_number": "SUP-1048"},
  "data": [{"line_id": "1", "item_name": "Service", "quantity": "1", "unit_price": "1250.00", "vat_rate": "21"}]
}

Implementatienotities

  • The API verifies that the document belongs to supplier_id before returning lines.
05

Peppol network discovery

GET/ap/get/ Check a Peppol participant and discover endpoint information
Authenticatie: No Peppox account key is required for this public lookup helper.Geaccepteerde aanvraagformaten: GET or POST; JSON or form data

Verplicht

ParameterFormatDescription
schemestringParticipant identifier scheme, for example 0208.
valuestringParticipant identifier value.

Optioneel

ParameterFormatDescription
smldigitprod or digittestdigitprod by default for the SMP query.
withEndpointsbooleantrue by default; set false to skip endpoint lookup.
prettyyes / true / 1Returns a simplified result.
onlynameWith pretty enabled, returns only the entity name.

Voorbeeldaanvraag

curl "https://api.peppox.com/ap/get/?scheme=0208&value=0123456789&sml=digitprod&pretty=1"

Voorbeeld van een geslaagd antwoord

{
  "name_entity": "Example Company",
  "serviceDescription": "…",
  "technicalContactUrl": "…"
}

Implementatienotities

  • The full response contains both test and production existence results plus the EN16931 invoice endpoint lookup.
  • This endpoint checks discoverability; it does not create or send a document.
06 · Testen zonder code

Begrijp elke aanvraag in het dashboard voordat u code schrijft

Het Peppox-dashboard bevat begeleide formulieren die de API’s voor u aanroepen. Test echte documenten, ontdek verplichte parameters en begrijp het JSON-antwoord vóór u uw ERP koppelt.

  1. 01Kies een endpoint en vul de velden in
  2. 02Voer de aanvraag uit zonder testclient
  3. 03Bekijk GUID’s, JSON en fouten
  4. 04Valideer het proces in de integratieomgeving
  5. 05Neem de werkende aanvraag over in uw backend
  6. 06Volg verzonden en ontvangen documenten
Bewaar deze identificatoren

De integratiestatus blijft eenvoudig

invoice_guid

Verbindt hoofding, regels, PDF en gegenereerde XML.

queue_guid

Verbindt de vier PDF2Peppol-calls tijdens de extractie.

document-GUID

Verbindt het einddocument met levering en reconciliatie.

Als een aanvraag mislukt

400Controleer ontbrekende of ongeldige velden.401Controleer API-sleutel en omgeving.404Controleer de GUID uit de vorige call.429Vertraag en probeer opnieuw met oplopende wachttijd.500Log de aanvraag, probeer veilig opnieuw en contacteer Peppox als het blijft duren.
Peppox

Eén koppeling met het Peppol-netwerk.

Verstuur, ontvang en monitor Peppol-documenten via één veilige API en één overzichtelijk dashboard.