Peppox API — API Documentation

Authentification

Taper
CLÉ API — CLÉ API
Emplacement
requête / paramètre : clé API
Solution de repli via le paramètre de requête/corps « apikey »
GET https://api.peppox.com//sendsms/?apikey=VOTRE_CLÉ_API

Gestion des factures

/facture/ajouter • Méthodes : POSTE

Ajouter un en-tête de facture de vente

Crée un nouvel en-tête de facture au statut BROUILLON. Ce point de terminaison enregistre toutes les informations relatives au fournisseur et au client, les dates d'émission, les conditions de paiement et les détails de livraison. Les données du fournisseur sont automatiquement chargées à partir de votre clé API (customer_api).
POSTE /facture/ajouter • Taux: 60 requêtes/min Authentification requise

Paramètres

NomDansTaperRequisDéfautDescription
clé API chaîne Oui Votre clé API Peppox (depuis votre compte fournisseur enregistré).
réseau chaîne Non Identifiant réseau optionnel (Peppol par défaut).
inv_id chaîne Non Numéro de facture interne facultatif.
date d'émission chaîne Oui Date d'émission de la facture (AAAA-MM-JJ).
date_d'échéance chaîne Non Date d'échéance de la facture (AAAA-MM-JJ).
code_type_de_facture chaîne Non 380 Code de type de facture Peppol (ex 380 = Facture, 381 = Note de crédit).
devise chaîne Non EUR Code ISO de la devise.
coût comptable chaîne Non Référence au code comptable interne.
référence_acheteur chaîne Non Référence acheteur / Numéro de commande.
paiement.code_de_signification chaîne Non 1 Moyens de paiement (liste des codes Peppol).
paiement.identifiant_de_paiement chaîne Non Identifiant/référence du paiement.
paiement.iban chaîne Non IBAN du bénéficiaire.
nom_du_compte_de_paiement chaîne Non Nom du titulaire du compte bénéficiaire.
paiement.bic chaîne Non Code BIC/SWIFT du bénéficiaire.
conditions de paiement chaîne Non Note sur les conditions de paiement.
la date de livraison chaîne Non La date de livraison.
schéma de localisation de livraison chaîne Non 0088 Identifiant du schéma de localisation de livraison.
livraison.location_id chaîne Non Identifiant du lieu de livraison.
livraison.rue chaîne Non Adresse de livraison : rue.
livraison.ville chaîne Non Ville de livraison.
livraison.postale chaîne Non Code postal de l'adresse de livraison.
pays de livraison chaîne Non Code pays de l'adresse de livraison.
nom_partie_livraison chaîne Non Nom du livreur.
client.schéma_point_de_terminaison chaîne Non 0208 Identifiant du programme client Peppol.
client.endpoint_id chaîne Non Identifiant du participant client Peppol.
nom du client chaîne Non Nom du client.
rue du client chaîne Non Rue du client.
client.ville chaîne Non Ville du client.
client.postal chaîne Non Code postal du client.
client.pays chaîne Non Code pays du client.
client.identifiant_de_télécommande chaîne Non Numéro de TVA du client.
schéma d'identifiant de l'entreprise client chaîne Non 0208 Système d'identification des entreprises clientes.
client.entreprise_id chaîne Non Identifiant de l'entreprise cliente (numéro national).
téléphone du client chaîne Non Numéro de téléphone du client.
email client chaîne Non Adresse électronique de contact client.

Exemples de demandes

BOUCLE
PYTHON
curl -X POST "https://api.peppox.com/invoice/add/" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d "{ "issue_date": "2025-10-17", "due_date": "2025-11-17", "customer": { "endpoint_id": "9915:BE0123456789", "name": "ACME SPRL", "country": "BE" }, "payment": { "iban": "BE12345678901234", "bic": "GEBABEBB", "account_name": "Peppox Supplier" } }"

Réponses

Statut: 200Facture créée avec succès (brouillon).
JSON
{ "ok": true, "invoice_guid": "inv-8c3b4a99-2025-10-17", "status": "DRAFT" }
Statut: 400Champs invalides ou manquants.
Statut: 401Clé API invalide ou expirée.
Statut: 500Erreur interne du serveur ou de la base de données.
/ligne_de_facture/ajouter • Méthodes : POSTE

Ajouter une ligne de facture à une facture existante

Ajoute une nouvelle ligne à une facture existante (identifiée par invoice_guid). Prend en charge l'unité, la quantité, le prix, la catégorie de TVA et les codes d'identification du produit.
POSTE /ligne_de_facture/ajouter • Taux: 60 requêtes/min Authentification requise

Paramètres

NomDansTaperRequisDéfautDescription
clé API chaîne Oui Votre clé API Peppox (requise pour l'authentification).
GUID_facture chaîne Oui L'identifiant unique GUID de la facture renvoyé par /invoice/add.
identifiant_de_ligne chaîne Non Identifiant de ligne interne facultatif (par défaut, GUID généré).
quantité nombre Oui Quantité de l'article ou du service.
code_unité chaîne Non Code d’unité selon la recommandation UNECE 20 (par exemple H87 pour « pièce »).
prix_montant nombre Oui Prix unitaire (hors taxes).
description de l'article chaîne Non Description de l'article ou du service.
nom_de_l'article chaîne Non Nom ou titre de l'article.
identifiant_article_vendeur chaîne Non Identifiant interne de l'article ou SKU du vendeur.
schéma d'identifiant d'article standard chaîne Non 0088 Identifiant standard du système d'identification des articles (par exemple GTIN).
std_item_id chaîne Non Identifiant normalisé de l'article (GTIN, EAN, etc.).
pays d'origine chaîne Non Pays d'origine (ISO 3166-1 alpha-2).
catégorie_tax chaîne Non Code de catégorie de TVA (ex. S, Z, AE).
pourcentage d'impôt nombre Non Pourcentage du taux de TVA (ex. 21,00).

Exemples de demandes

BOUCLE
PYTHON
curl -X POST "https://api.peppox.com/invoice_line/add/" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d "{ "invoice_guid": "inv-8c3b4a99-2025-10-17", "quantity": 2, "unit_code": "H87", "price_amount": 49.99, "item_name": "Service de conseil", "tax_percent": 21 }"

Réponses

Statut: 200Ligne de facture ajoutée avec succès.
JSON
{ "ok": true, "line_guid": "line-2b4fa3c1-2025-10-17" }
Statut: 400Paramètres invalides (invoice_guid manquant ou champs numériques invalides).
Statut: 401Clé API invalide ou expirée.
Statut: 500Erreur interne de la base de données ou du serveur.
/invoice_attach_pdf/ajouter • Méthodes : POSTE

Joindre un PDF à une facture existante

Ajoute un document PDF (par téléchargement, Base64 ou URL distante) à une facture existante identifiée par invoice_guid. Une seule pièce jointe par facture est conservée ; tout fichier précédent est remplacé.
POSTE /invoice_attach_pdf/ajouter • Taux: 30 requêtes/min Authentification requise

Paramètres

NomDansTaperRequisDéfautDescription
clé API chaîne Oui Votre clé API Peppox (authentification).
GUID_facture chaîne Oui Le GUID de la facture à laquelle joindre le PDF.
doc_id chaîne Non Identifiant de document facultatif (par défaut, l'identifiant de la facture ou un UUID généré).
nom de fichier chaîne Non pièce jointe.pdf Nom du fichier joint (ex. facture.pdf).
mime chaîne Non application/pdf Type MIME du fichier.
contenu_base64 chaîne Non Contenu PDF sous forme de chaîne Base64. Accepte le format URI des données.
URL du fichier chaîne Non URL HTTPS distante d'un PDF à télécharger et à joindre.
déposer déposer Non Champ de téléchargement de fichier (multipart/form-data).

Exemples de demandes

BOUCLE
BOUCLE
BOUCLE
curl -X POST "https://api.peppox.com/invoice_attach_pdf/add/" \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "invoice_guid=inv-8c3b4a99-2025-10-17" \ -F "file=@invoice.pdf"

Réponses

Statut: 200Le fichier PDF a bien été joint à la facture.
JSON
{ "ok": true, "invoice_guid": "inv-8c3b4a99-2025-10-17", "doc_id": "DOC-1452", "filename": "invoice-2025-10.pdf", "mime": "application/pdf", "size_bytes": 184527 }
Statut: 400Paramètres invalides ou contenu manquant (absence de Base64, de fichier ou d'URL).
Statut: 401Clé API invalide ou expirée.
Statut: 404Facture introuvable.
Statut: 500Erreur interne du serveur ou de la base de données.

Génération XML

/xml/générer • Méthodes : POSTE

Générer un fichier XML UBL pour une facture ou un avoir

Combine l'en-tête, les lignes et le PDF joint (le cas échéant) de la facture/de l'avoir en un document XML UBL 3.0 conforme à Peppol. Renvoie le chemin local du fichier généré et met à jour le statut de la facture/de l'avoir à XML_BUILT.
POSTE /xml/générer • Taux: 30 requêtes/min Authentification requise

Paramètres

NomDansTaperRequisDéfautDescription
clé API chaîne Oui Votre clé API Peppox pour l'authentification.
GUID_facture chaîne Oui L'identifiant unique de la facture à convertir en XML.
guide chaîne Non Clé alternative pour invoice_guid.

Exemples de demandes

BOUCLE
PYTHON
curl -X POST "https://api.peppox.com/xml/generate/" \ -H "Authorization: Bearer VOTRE_CLÉ_API" \ -H "Content-Type: application/json" \ -d "{ "invoice_guid": "inv-8c3b4a99-2025-10-17" }"

Réponses

Statut: 200Le fichier XML a été généré et enregistré avec succès sur le serveur.
JSON
{ "ok": true, "status": "XML_BUILT", "xml_path": "/var/www/vhosts/peppox.com/httpdocs/invoices_xml/inv-8c3b4a99-2025-10-17.xml" }
Statut: 400Identifiant de facture (invoice_guid) ou lignes de facture manquants.
Statut: 401Clé API invalide ou expirée.
Statut: 404Facture introuvable.
Statut: 500Erreur interne de génération ou d'écriture XML.

Notes de crédit

/note de crédit/ajouter • Méthodes : POSTE

Ajouter un en-tête de note de crédit

Crée un nouvel en-tête d'avoir au statut BROUILLON. Les données du fournisseur sont automatiquement chargées à partir du compte de clé API, tandis que les champs client, paiement et livraison sont extraits de la requête.
POSTE /note de crédit/ajouter • Taux: 60 requêtes/min Authentification requise

Paramètres

NomDansTaperRequisDéfautDescription
clé API chaîne Oui Votre clé API Peppox.
réseau chaîne Non Identifiant réseau facultatif.
id_note_de_crédit chaîne Non Numéro/identifiant de note de crédit préféré.
cn_id chaîne Non Alias alternatif pour l'identifiant de l'avoir.
id_note_de_crédit chaîne Non Alias alternatif pour l'identifiant de l'avoir.
inv_id chaîne Non Identifiant alternatif hérité.
date d'émission chaîne Oui Date d'émission de l'avoir (AAAA-MM-JJ).
date_d'échéance chaîne Non Date d'échéance (AAAA-MM-JJ).
code_type_de_facture chaîne Non 381 Code du type de document. Valeur par défaut : 381 = Note de crédit.
devise chaîne Non EUR Code ISO de la devise.
coût comptable chaîne Non Référence comptable interne.
référence_acheteur chaîne Non Référence acheteur / référence de commande client.
paiement.code_de_signification chaîne Non 1 Le paiement signifie le code.
paiement.identifiant_de_paiement chaîne Non Référence de paiement.
paiement.iban chaîne Non IBAN du bénéficiaire.
nom_du_compte_de_paiement chaîne Non Nom du compte du bénéficiaire.
paiement.bic chaîne Non Bénéficiaire BIC / SWIFT.
conditions de paiement chaîne Non Note sur les conditions de paiement.
la date de livraison chaîne Non La date de livraison.
schéma de localisation de livraison chaîne Non 0088 Schéma de localisation des livraisons.
livraison.location_id chaîne Non Identifiant du lieu de livraison.
livraison.rue chaîne Non Rue de livraison.
livraison.ville chaîne Non Ville de livraison.
livraison.postale chaîne Non Code postal de livraison.
pays de livraison chaîne Non Code du pays de livraison.
nom_partie_livraison chaîne Non Nom du livreur.
fournisseur.endpoint_scheme chaîne Non 0208 Schéma du point de terminaison fournisseur. Les valeurs du fournisseur sont sinon chargées à partir du compte API.
client.schéma_point_de_terminaison chaîne Non 0208 Schéma du point de terminaison client.
client.endpoint_id chaîne Non ID du point de terminaison client.
nom du client chaîne Non Nom légal du client.
rue du client chaîne Non Rue du client.
client.ville chaîne Non Ville du client.
client.postal chaîne Non Code postal du client.
client.pays chaîne Non Code pays du client.
client.identifiant_de_télécommande chaîne Non Numéro de TVA du client.
schéma d'identifiant de l'entreprise client chaîne Non 0208 Système d'identification des entreprises clientes.
client.entreprise_id chaîne Non Identifiant de l'entreprise cliente.
téléphone du client chaîne Non Téléphone du client.
email client chaîne Non Courriel du client.

Exemples de demandes

BOUCLE
PYTHON
curl -X POST "https://api.peppox.com/creditnote/add/" -H "Authorization: Bearer VOTRE_CLÉ_API" -H "Content-Type: application/json" -d "{ "creditnote_id": "CN-2025-001", "issue_date": "2025-10-17", "currency": "EUR", "customer": { "endpoint_id": "9915:BE0123456789", "name": "ACME SPRL", "country": "BE" } }"

Réponses

Statut: 200Note de crédit créée avec succès.
JSON
{ "ok": true, "invoice_guid": "cn-8c3b4a99-2025-10-17", "document_type": "CREDIT_NOTE", "status": "DRAFT" }
Statut: 400Champs invalides ou manquants.
Statut: 401Clé API invalide ou expirée.
Statut: 500Erreur interne du serveur ou de la base de données.
/ligne_de_crédit/ajouter • Méthodes : POSTE

Ajouter une ligne de crédit

Ajoute une ligne à une note de crédit existante. Accepte automatiquement les alias pour creditnote_guid et calcule tax_category à partir de tax_percent lorsque cela est possible.
POSTE /ligne_de_crédit/ajouter • Taux: 60 requêtes/min Authentification requise

Paramètres

NomDansTaperRequisDéfautDescription
clé API chaîne Oui Votre clé API Peppox.
note de crédit_guid chaîne Oui GUID de la note de crédit cible.
GUID_facture chaîne Non Alias pour creditnote_guid.
guide chaîne Non Alias pour creditnote_guid.
identifiant_de_ligne chaîne Non Identifiant de ligne interne facultatif.
identifiant de ligne de commande chaîne Non Alias pour line_id.
quantité nombre Oui Quantité de lignes.
quantité nombre Non Alias pour quantité.
q nombre Non Alias pour quantité.
code_unité chaîne Non Code de l'unité.
unité chaîne Non Alias pour unit_code.
vous chaîne Non Alias pour unit_code.
prix_montant nombre Oui Prix unitaire.
prix nombre Non Alias pour price_amount.
prix unitaire nombre Non Alias pour price_amount.
description de l'article chaîne Non Description de la ligne.
description chaîne Non Alias pour item_description.
desc chaîne Non Alias pour item_description.
nom_de_l'article chaîne Non Nom/titre de l'article.
nom chaîne Non Alias pour item_name.
titre chaîne Non Alias pour item_name.
identifiant_article_vendeur chaîne Non Identifiant/SKU de l'article du vendeur.
identifiant_vendeur chaîne Non Alias pour seller_item_id.
référence chaîne Non Alias pour seller_item_id.
schéma d'identifiant d'article standard chaîne Non 0088 Système standard d'identification des articles.
schéma standard chaîne Non Alias pour std_item_id_scheme.
schème chaîne Non Alias pour std_item_id_scheme.
std_item_id chaîne Non Identifiant standard de l'article (EAN, GTIN, etc.).
gtin chaîne Non Alias pour std_item_id.
ean chaîne Non Alias pour std_item_id.
pays d'origine chaîne Non Pays d'origine.
pays chaîne Non Alias pour origin_country.
catégorie_tax chaîne Non Code de catégorie de TVA. Forcé automatiquement en S ou Z selon le pourcentage de taxe.
tax_cat chaîne Non Alias pour tax_category.
catégorie_vat chaîne Non Alias pour tax_category.
pourcentage d'impôt nombre Non Pourcentage de TVA.
taux de TVA nombre Non Alias pour tax_percent.
impôt nombre Non Alias pour tax_percent.
T.V.A nombre Non Alias pour tax_percent.

Exemples de demandes

BOUCLE
PYTHON
curl -X POST "https://api.peppox.com/creditnote_line/add/" -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d "{ "creditnote_guid": "cn-8c3b4a99-2025-10-17", "quantity": 2, "unit_code": "H87", "price_amount": 49.99, "item_name": "Service de conseil retourné", "tax_percent": 21 }"

Réponses

Statut: 200Ligne de note de crédit ajoutée avec succès.
JSON
{ "ok": true, "line_guid": "line-2b4fa3c1-2025-10-17" }
Statut: 400Valeurs obligatoires manquantes telles que creditnote_guid, quantity ou price_amount.
Statut: 401Clé API invalide ou expirée.
Statut: 500Erreur interne de la base de données.
/creditnote_attach_pdf/ajouter • Méthodes : POSTE

Joindre un PDF à une note de crédit

Ajoute un document PDF à une note de crédit existante via un chargement multipart, une charge utile Base64 ou une URL distante. La pièce jointe précédente est remplacée.
POSTE /creditnote_attach_pdf/ajouter • Taux: 30 requêtes/min Authentification requise

Paramètres

NomDansTaperRequisDéfautDescription
clé API chaîne Oui Votre clé API Peppox.
note de crédit_guid chaîne Oui Le GUID de la note de crédit auquel joindre le PDF.
GUID_facture chaîne Non Alias pour creditnote_guid.
guide chaîne Non Alias pour creditnote_guid.
doc_id chaîne Non Identifiant de document facultatif. Par défaut : inv_id ou un UUID généré.
nom de fichier chaîne Non pièce jointe.pdf Nom du fichier joint.
mime chaîne Non application/pdf Type MIME de la pièce jointe.
contenu_base64 chaîne Non Contenu PDF encodé en Base64.
pdf_base64 chaîne Non Alias pour content_base64.
URL du fichier chaîne Non URL HTTP/HTTPS du PDF à télécharger et à joindre.
URL du PDF chaîne Non Alias pour file_url.
déposer déposer Non Fichier téléchargé en plusieurs parties.

Exemples de demandes

BOUCLE
BOUCLE
BOUCLE
curl -X POST "https://api.peppox.com/creditnote_attach_pdf/add/" -H "Authorization: Bearer YOUR_API_KEY" -F "creditnote_guid=cn-8c3b4a99-2025-10-17" -F "file=@creditnote.pdf"

Réponses

Statut: 200Le fichier PDF a été joint avec succès à l'avoir.
JSON
{ "ok": true, "creditnote_guid": "cn-8c3b4a99-2025-10-17", "doc_id": "CN-2025-001", "filename": "creditnote.pdf", "mime": "application/pdf", "size_bytes": 184527 }
Statut: 400Requête invalide : identifiant creditnote_guid manquant, Base64 invalide, URL invalide ou aucun contenu fourni.
Statut: 401Clé API invalide ou expirée.
Statut: 404Note de crédit introuvable.
Statut: 500Erreur interne de gestion de la base de données ou des fichiers.

Documents envoyés

/doc-sent/header/list • Méthodes : OBTENIR

Liste des en-têtes de factures envoyées

Affiche les en-têtes des factures de vente envoyées à un fournisseur. Prend en charge la recherche par mots-clés, les filtres de date, les filtres de statut Peppol, les filtres de statut local, l'inclusion des réponses brutes, le tri et la pagination.
OBTENIR /doc-sent/header/list • Taux: 300 requêtes/min

Paramètres

NomDansTaperRequisDéfautDescription
identifiant_fournisseur chaîne Oui Identifiant fournisseur obligatoire. Cette valeur correspond à invoices.apikey.
q chaîne Non Recherche par mot-clé dans les champs d'en-tête des factures.
page entier Non 1 Numéro de page.
par page entier Non 300 Lignes par page. Maximum : 300.
date chaîne Non Filtre de date exacte au format AAAA-MM-JJ.
date_de_début chaîne Non Date de début du filtre de période au format AAAA-MM-JJ.
date_à chaîne Non Date de fin du filtre de période au format AAAA-MM-JJ.
champ de date chaîne Non envoyé_à Champ Date utilisé pour date/date_from/date_to. Valeurs autorisées : issue_date, due_date, delivery_date, xml_built_at, sent_at, created_at, updated_at, status_from_peppol_date.
statut_de_peppol chaîne Non Filtrer par statut Peppol. Prend en charge les valeurs CSV.
statut_peppol chaîne Non Alias pour status_from_peppol.
statut chaîne Non Alias pour status_from_peppol.
statut_local chaîne Non Filtrer par statut de facture local à partir de invoices.status. Prend en charge les valeurs CSV.
inclure_brut booléen Non 0 Définissez cette valeur sur 1 pour inclure sent_reply_api et all_response_api dans la réponse.
recherche_brut booléen Non 0 Définissez cette valeur sur 1 pour inclure sent_reply_api et all_response_api dans la recherche par mot-clé.
Trier par chaîne Non envoyé_à Colonne de tri. Autorisé : id, invoice_guid, inv_id, issue_date, due_date, xml_built_at, sent_at, status, created_at, updated_at, status_from_peppol, status_from_peppol_date, c_name, s_name, currency, network.
répertoire_sort chaîne Non DESC Sens de tri : ASC ou DESC.

Exemples de demandes

BOUCLE
BOUCLE
BOUCLE
PYTHON
curl "https://api.peppox.com/doc-sent/header/list/?supplier_id=YOUR_SUPPLIER_ID"

Réponses

Statut: 200Succès — renvoie les en-têtes de facture avec filtres, informations de tri, pagination et lignes de données.
JSON
{ "ok": true, "endpoint": "doc-sent/header/list", "method": "GET", "filters": { "supplier_id": "YOUR_SUPPLIER_ID", "q": "", "date": "", "date_from": "2025-10-01", "date_to": "2025-10-31", "date_field": "sent_at", "status_from_peppol": "sent", "local_status": "", "include_raw": "0", "search_raw": "0" }, "sort": { "sort_by": "sent_at", "sort_dir": "DESC" }, "pagination": { "page": 1, "per_page": 300, "total": 1, "total_pages": 1, "has_prev": false, "has_next": false }, "count": 1, "data": [ { "id": 125, "invoice_guid": "inv-8c3b4a99-2025-10-17", "inv_id": "INV-2025-001", "issue_date": "2025-10-17", "due_date": "2025-11-17", "invoice_type_code": "380", "currency": "EUR", "buyer_reference": "PO-12345", "s_name": "Société fournisseur", "s_endpoint_id": "0208:0123456789", "c_name": "Société cliente", "c_endpoint_id": "0208:0987654321", "status": "ENVOYÉ", "sent_at": "2025-10-17 14:30:00", "sent_http_code": 200, "network": "peppol", "status_from_peppol": "envoyé", "status_from_peppol_date": "2025-10-17 14:31:00", "status_from_peppol_error": null, "flowin_invoice_id_from_sent_reply_api": "flowin-doc-id-123", "flowin_document_endpoint_used": "/peppol/suppliers/.../invoices" } ] }
Statut: 400Identifiant fournisseur requis manquant.
Statut: 500Erreur serveur.
/doc-sent/lines/list • Méthodes : OBTENIR

Liste des lignes de factures envoyées

Affiche les lignes d'une facture envoyée à l'aide de supplier_id et invoice_guid. Pour des raisons de sécurité, supplier_id doit correspondre à invoices.apikey.
OBTENIR /doc-sent/lines/list • Taux: 300 requêtes/min

Paramètres

NomDansTaperRequisDéfautDescription
identifiant_fournisseur requête chaîne Oui Identifiant fournisseur obligatoire. Cette valeur doit correspondre à invoices.apikey.
GUID_facture requête chaîne Oui GUID de la facture utilisé pour lister les lignes de la facture.
q requête chaîne Non Recherche par mots-clés facultative dans les champs des lignes de facture.
page requête entier Non 1 Numéro de page.
par page requête entier Non 300 Lignes par page. Maximum : 300.

Exemples de demandes

BOUCLE
BOUCLE
PYTHON
curl "https://api.peppox.com/doc-sent/lines/list/?supplier_id=YOUR_SUPPLIER_ID&invoice_guid=inv-8c3b4a99-2025-10-17"

Réponses

Statut: 200Succès — renvoie les métadonnées de la facture, les filtres, la pagination et les lignes de facture.
JSON
{ "ok": true, "endpoint": "doc-send/lines/list", "invoice": { "invoice_guid": "inv-8c3b4a99-2025-10-17", "inv_id": "INV-2025-001", "status": "SENT", "sent_at": "2025-10-17 14:30:00" }, "filters": { "supplier_id": "YOUR_SUPPLIER_ID", "invoice_guid": "inv-8c3b4a99-2025-10-17", "q": "consulting" }, "pagination": { "page": 1, "per_page": 300, "total": 1, "total_pages": 1, "has_prev": false, "has_next": false }, "count": 1, "data": [ { "id": 1, "invoice_guid": "inv-8c3b4a99-2025-10-17", "line_guid": "line-001", "line_id": "1", "quantity": "2.00", "unit_code": "H87", "price_amount": "49.99", "item_description": "Service de conseil", "item_name": "Consulting", "seller_item_id": "SKU-001", "std_item_id_scheme": "0088", "std_item_id": null, "origin_country": "BE", "tax_category": "S", "tax_percent": "21.00", "created_at": "2025-10-17 14:00:00", "updated_at": null } ] }
Statut: 400Identifiant fournisseur ou GUID de facture manquant.
Statut: 404Facture introuvable ou non autorisée pour cet identifiant de fournisseur.
Statut: 500Erreur serveur.

Documents reçus

/doc-received/header/list • Méthodes : OBTENIR

Liste des en-têtes de factures d'achat reçues

Affiche les en-têtes des factures d'achat reçues d'un fournisseur via Peppol. Prend en charge la recherche par mots-clés, les filtres de date, le statut d'importation, le code de type de document, les champs bruts, le tri et la pagination.
OBTENIR /doc-received/header/list • Taux: 300 requêtes/min

Paramètres

NomDansTaperRequisDéfautDescription
identifiant_fournisseur chaîne Oui Identifiant fournisseur obligatoire. Cette valeur correspond à peppox_inbound_purchase_invoices.supplier_id.
q chaîne Non Recherche par mots-clés dans les champs d'en-tête des factures reçues.
page entier Non 1 Numéro de page.
par page entier Non 300 Lignes par page. Maximum : 300.
date chaîne Non Filtre de date exacte au format AAAA-MM-JJ.
date_de_début chaîne Non Date de début du filtre de période au format AAAA-MM-JJ.
date_à chaîne Non Date de fin du filtre de période au format AAAA-MM-JJ.
champ de date chaîne Non api_created_at Champ de date utilisé pour date/date_from/date_to. Autorisé : api_created_at, issue_date, due_date, tax_point_date, created_at, updated_at.
statut_importation chaîne Non Filtrer par statut d'importation. Prend en charge les valeurs CSV.
statut chaîne Non Alias pour import_status.
code_type_de_document chaîne Non Filtrer par code de type de document. Prend en charge les valeurs CSV. Exemple : 380 facture, 381 avoir.
type_code chaîne Non Alias pour document_type_code.
inclure_brut booléen Non 0 Définissez cette valeur sur 1 pour inclure customization_id, profile_id, xml_without_pdf, api_attributes_json, parser_json et notification_sent_by_email_response.
recherche_brut booléen Non 0 Définissez cette valeur sur 1 pour effectuer une recherche dans les champs bruts/longs.
Trier par chaîne Non api_created_at Colonne de tri. Autorisé : id, customer_id, supplier_id, flowin_document_id, api_created_at, document_type_code, document_number, issue_date, due_date, tax_point_date, currency, supplier_name, customer_name, total_excl_vat, total_vat, total_incl_vat, payable_amount, import_status, created_at, updated_at.
répertoire_sort chaîne Non DESC Sens de tri : ASC ou DESC.

Exemples de demandes

BOUCLE
BOUCLE
BOUCLE
PYTHON
curl "https://api.peppox.com/doc-received/header/list/?supplier_id=327c58aa-f3e1-4c56-ae75-327c58916148"

Réponses

Statut: 200Succès — retours reçus : en-têtes de factures d’achat avec filtres, tri, pagination et lignes de données.
JSON
{ "ok": true, "endpoint": "doc-received/header/list", "method": "GET", "filters": { "supplier_id": 327c58aa-f3e1-4c56-ae75-327c58916148", "q": "", "date": "", "date_from": "2025-10-01", "date_to": "2025-10-31", "date_field": "api_created_at", "import_status": "imported", "document_type_code": "380", "include_raw": "0", "search_raw": "0" }, "sort": { "sort_by": "api_created_at", "sort_dir": "DESC" }, "pagination": { "page": 1, "per_page": 300, "total": 1, "total_pages": 1, "has_prev": false, "has_next": false }, "count": 1, "data": [ { "id": 25, "customer_id": 7, "supplier_id": 327c58aa-f3e1-4c56-ae75-327c58916148", "document_id": "flowin-doc-id-123", "environment": "production", "api_created_at": "2025-10-17 14:30:00", "document_type_label": "Facture", "document_type_code": "380", "document_number": "INV-2025-001", "issue_date": "2025-10-17", "due_date": "2025-11-17", "tax_point_date": "2025-10-17", "devise" : "EUR", "référence_acheteur" : "PO-12345", "référence_commande" : "ORD-987", "nom_fournisseur" : "Société fournisseur", "id_société_fournisseur" : "0123456789", "id_point_de_terminaison_fournisseur" : "0208:0123456789", "id_TVA_fournisseur" : "BE0123456789", "rue_fournisseur" : "Rue fournisseur 1", "ville_fournisseur" : "Bruxelles", "code_zip_fournisseur" : "1000", "pays_fournisseur" : "BE", "nom_client" : "Société cliente", "id_société_client" : "0987654321", "id_point_de_terminaison_client" : "0208:0987654321", "id_TVA_client" : "BE0987654321", "customer_street": "Customer Street 2", "customer_city": "Namur", "customer_zip": "5000", "customer_country": "BE", "total_excl_vat": "100.00", "total_vat": "21.00", "total_incl_vat": "121.00", "payable_amount": "121.00", "line_extension_amount": "100.00", "tax_exclusive_amount": "100.00", "tax_inclusive_amount": "121.00", "allowance_total_amount": "0.00", "charge_total_amount": "0.00", "prepaid_amount": "0.00", "payment_means_code": "30", "payment_id": "INV-2025-001", "iban": "BE12345678901234", "bic": "GEBABEBB", "has_embedded_pdf": 1, "created_at": "2025-10-17 14:31:00" } ] }
Statut: 400Identifiant fournisseur requis manquant.
Statut: 500Erreur serveur.
/doc-received/lines/list • Méthodes : OBTENIR

Liste des lignes de factures d'achat reçues

Affiche les lignes d'une facture d'achat reçue à l'aide de supplier_id et document_id. L'identifiant du document (document_id) correspond à peppox_inbound_purchase_invoices.flowin_document_id.
OBTENIR /doc-received/lines/list • Taux: 300 requêtes/min

Paramètres

NomDansTaperRequisDéfautDescription
identifiant_fournisseur chaîne Oui Identifiant fournisseur requis.
document_id chaîne Oui ID du document reçu requis. Correspond à flowin_document_id.
q chaîne Non Recherche par mots clés dans les champs des lignes de factures reçues.
page entier Non 1 Numéro de page.
par page entier Non 300 Lignes par page. Maximum : 300.
inclure_brut booléen Non 0 Définissez cette valeur sur 1 pour inclure raw_line_xml et parser_json.
recherche_brut booléen Non 0 Définissez cette valeur sur 1 pour effectuer une recherche dans raw_line_xml et parser_json.
Trier par chaîne Non numéro de ligne Colonne de tri. Autorisé : id, invoice_header_id, customer_id, supplier_id, flowin_document_id, line_no, line_id, item_name, quantity, unit_code, unit_price, vat_rate, line_total_excl_vat, line_total_vat, line_total_incl_vat, currency, created_at.
répertoire_sort chaîne Non ASC Sens de tri : ASC ou DESC.

Exemples de demandes

BOUCLE
BOUCLE
BOUCLE
PYTHON
curl "https://api.peppox.com/doc-received/lines/list/?supplier_id=327c58aa-f3e1-4c56-ae75-327c58916148&document_id=e1de8615-ce41-425a-ba88-0b834bf3ccf9"

Réponses

Statut: 200Succès — les métadonnées des factures reçues, les filtres, le tri, la pagination et les lignes de commande sont renvoyés.
JSON
{ "ok": true, "endpoint": "doc-received/lines/list", "method": "GET", "invoice": { "id": 25, "customer_id": 7, "supplier_id": 327c58aa-f3e1-4c56-ae75-327c58916148", "document_id": "e1de8615-ce41-425a-ba88-0b834bf3ccf9", "document_number": "INV-2025-001", "document_type_code": "380", "document_type_label": "Facture", "issue_date": "2025-10-17", "due_date": "2025-11-17", "currency": "EUR", "supplier_name": "Société fournisseur", "customer_name": "Société cliente", "total_excl_vat": "100.00", "total_vat": "21.00", "total_incl_vat": "121.00", "payable_amount": "121.00", "import_status": "imported", "api_created_at": "2025-10-17 14:30:00" }, "filters": { "supplier_id": 327c58aa-f3e1-4c56-ae75-327c58916148", "document_id": "e1de8615-ce41-425a-ba88-0b834bf3ccf9", "q": "", "include_raw": "0", "search_raw": "0" }, "sort": { "sort_by": "line_no", "sort_dir": "ASC" }, "pagination": { "page": 1, "per_page": 300, "total": 1, "total_pages": 1, "has_prev": false, "has_next": false }, "count": 1, "data": [ { "supplier_id": 327c58aa-f3e1-4c56-ae75-327c58916148", "document_id": "e1de8615-ce41-425a-ba88-0b834bf3ccf9", "line_id": "1", "description": "Service de conseil", "item_name": "Consulting", "item_seller_id": "SKU-001", "item_buyer_id": null, "quantity": "2.00", "unit_code": "H87", "unit_price": "50.00", "base_quantity": "1.00", "vat_category_id": "S", "vat_rate": "21.00", "vat_scheme": "VAT", "line_total_excl_vat": "100.00", "line_total_vat": "21.00", "line_total_incl_vat": "121.00", "currency": "EUR", "created_at": "2025-10-17 14:31:00" } ] }
Statut: 400Identifiant fournisseur ou identifiant document manquant.
Statut: 404Facture reçue introuvable ou non autorisée pour ce fournisseur_id/document_id.
Statut: 500Erreur serveur.

PDF vers Peppol

/pdf2peppol/ajouter • Méthodes : POSTE

Téléversez un PDF pour la conversion Peppol

Peppox reçoit un document PDF par téléchargement de fichier, encodage base64 ou URL. Il le stocke dans la file d'attente de conversion PDF vers Peppol et lance le processus. Le document n'est pas envoyé immédiatement à Peppol : il doit d'abord être traité, vérifié, validé, puis transmis.
POSTE /pdf2peppol/ajouter • Taux: 50 PDF/mois par défaut

Paramètres

NomDansTaperRequisDéfautDescription
identifiant_fournisseur chaîne Oui Identifiant du fournisseur. Alias acceptés : apikey ou api_key.
URL du PDF chaîne Non URL publique du PDF à importer. Alias : file_url, document_url, url.
pdf_base64 corps chaîne Non Contenu PDF encodé en base64. Alias : content_base64, file_base64, document_base64, base64.
pdf déposer Non Téléchargement de fichiers PDF. Noms de champs acceptés : pdf, file, invoice_pdf, document, pdf_file.
nom de fichier chaîne Non document.pdf Nom de fichier d'origine. Utilisé lors de l'envoi d'une URL ou d'une chaîne base64.
réseau chaîne Non production Réseau Peppol. Autorisé : production ou intégration. Alias : réseau, environnement.
code_type_de_document chaîne Non 380 Type de document. 380 = facture de vente, 381 = note de crédit. Alias : code_type_facture, type_document, type.

Exemples de demandes

BOUCLE
BOUCLE
BOUCLE
curl "https://api.peppox.com/pdf2peppol/add/?supplier_id=de5c7119-0f03-4058-9d3b-9f9520c2a46e&pdf_url=https://peppox.com/invoice2.pdf"

Réponses

Statut: 200Fichier PDF accepté et ajouté à la file d'attente de conversion.
JSON
{ "success": true, "message": "Document PDF reçu. En attente de traitement.", "queue_guid": "pdf-6e9466501393cfbb32b1ec80498a1dfa", "status": "pending", "from_api": 1, "supplier_id": "de5c569-0f03-4248-9dae-9f9520c2a477e", "queue_customer_id": 12, "document_type_code": "380", "document_type_label": "Facture de vente", "network": "production", "pdf_source": "url", "filename": "invoice2.pdf", "monthly_limit": { "limit": 50, "used": 4, "remaining_before_upload": 46 } }
Statut: 400Requête invalide, fournisseur invalide, PDF invalide, fichier trop volumineux ou limite mensuelle atteinte.
/pdf2peppol/vérifier • Méthodes : OBTENIR

Vérifier la conversion PDF vers Peppol

Renvoie l'état de la conversion, les données d'en-tête extraites, les lignes extraites, le lien PDF et les contrôles de disponibilité Peppol pour un document PDF en file d'attente.
OBTENIR /pdf2peppol/vérifier • Taux: 300 requêtes/min

Paramètres

NomDansTaperRequisDéfautDescription
identifiant_fournisseur chaîne Oui Identifiant du fournisseur. Alias acceptés : apikey ou api_key.
queue_guid chaîne Oui GUID de la file d'attente renvoyé par /pdf2peppol/add. Alias : guid.
télécharger_pdf requête booléen Non 0 Si la valeur est 1, renvoie le PDF original au lieu du JSON.

Exemples de demandes

BOUCLE
BOUCLE
curl "https://api.peppox.com/pdf2peppol/check/?supplier_id=de5c7119-0f03-4058-9d3b-9f9520c2a46e&queue_guid=pdf-6e9466501393cfbb32b1ec80498a1dfa"

Réponses

Statut: 200Conversion chargée avec succès.
JSON
{ "success": true, "message": "Conversion PDF vers Peppol chargée avec succès.", "queue": { "queue_guid": "pdf-6e9466501393cfbb32b1ec80498a1dfa", "supplier_id": "de5c569-0f03-4248-9dae-9f9520c2a477e", "document_type_code": "380", "document_type_label": "Facture de vente", "network": "production", "filename": "invoice.pdf", "pdf_url": "https://api.peppox.com/pdf2peppol/check/?download_pdf=1&supplier_id=de5c569-0f03-4248-9dae-9f9520c2a477e&queue_guid=pdf-6e9466501393cfbb32b1ec80498a1dfa", "processing": { "status": "parsed", "is_waiting": false, "is_finished": true, "has_error": false }, "verification": { "confirmed": false, "confirmed_at": "" }, "peppol_send": { "status": "blocked", "requested_at": "", "completed_at": "", "peppox_invoice_guid": "", "error": "" } }, "peppol_readiness": { "ready_for_peppol": true, "can_be_verified": true, "verification_confirmed": false, "can_be_sent_now": false, "send_block_reason": "Le document doit être vérifié avant de pouvoir être envoyé." }, "converted_data": { "header": { "document": { "document_number": "INV-2025-001", "document_date": "2025-10-17", "document_type_code": "380", "document_type_label": "Facture de vente", "currency": "EUR", "peppol_ready": true }, "buyer": { "name": "Société cliente", "company_number": "0123456789", "country": "BE" }, "totals": { "total_excl_vat": "100.00", "total_vat": "21.00", "total_incl_vat": "121.00" } }, "lines_count": 1, "lines": [ { "line_no": 1, "description": "Service de conseil", "quantity": "1", "unit_price": "100.00", "taux_vat": "21" } ] } }
Statut: 400Supplier_id, queue_guid ou conversion invalides.
/pdf2peppol/confirm • Méthodes : POSTE

Confirmer les informations du PDF converti

Confirme que les informations extraites de la facture ou de l'avoir sont correctes. Cette confirmation est requise avant l'envoi du document à Peppol.
POSTE /pdf2peppol/confirm • Taux: 300 requêtes/min

Paramètres

NomDansTaperRequisDéfautDescription
identifiant_fournisseur chaîne Oui Identifiant du fournisseur. Alias acceptés : apikey ou api_key.
queue_guid chaîne Oui GUID de la file d'attente renvoyé par /pdf2peppol/add. Alias : guid.
confirmé booléen Non 1 Indicateur de confirmation facultatif. Le point de terminaison confirme le document si tous les champs Peppol obligatoires sont renseignés.

Exemples de demandes

BOUCLE
BOUCLE
curl "https://api.peppox.com/pdf2peppol/confirm/?supplier_id=ed751d5a-661e-4f6e-9d74-2d7447be4a9d&queue_guid=pdf-6e9466501393cfbb32b1ec80498a1dfa"

Réponses

Statut: 200Vérification des documents confirmée et prêts à être envoyés.
JSON
{ "success": true, "message": "Vérification du document confirmée. Le document est prêt à être envoyé à Peppol.", "supplier_id": "ed751d5a-661e-4f6e-9d74-2d7447be4a9d", "queue_guid": "pdf-6e9466501393cfbb32b1ec80498a1dfa", "document_type_code": "380", "document_type_label": "Facture de vente", "verification_confirmed": true, "verification_confirmed_at": "2025-10-17 15:10:00", "send_status": "ready", "ready_for_peppol": true, "checks": { "document_number": true, "document_date": true, "buyer_name": true, "buyer_identifier": true, "buyer_street": true, "buyer_city": true, "buyer_postal": true, "buyer_country": true, "document_lines": true }, "missing_fields": [] }
Statut: 400Le document ne peut être confirmé car des données sont manquantes ou la conversion n'est pas prête.
/pdf2peppol/send • Méthodes : POSTE

Envoyer le document PDF confirmé à Peppol

Envoie un PDF confirmé à Peppol. Peppox crée la facture ou l'avoir, ajoute les lignes, joint le PDF original, génère le fichier XML Peppol et lance le processus d'envoi. Important : après avoir appelé ce point de terminaison, veuillez patienter quelques minutes, le temps que plusieurs processus internes finalisent et valident le document avant sa transmission définitive à Peppol.
POSTE /pdf2peppol/send • Taux: 300 requêtes/min

Paramètres

NomDansTaperRequisDéfautDescription
identifiant_fournisseur chaîne Oui Identifiant du fournisseur. Alias acceptés : apikey ou api_key.
queue_guid chaîne Oui GUID de la file d'attente renvoyé par /pdf2peppol/add. Alias : guid.

Exemples de demandes

BOUCLE
BOUCLE
curl "https://api.peppox.com/pdf2peppol/send/?supplier_id=ed751d5a-661e-4f6e-9d74-2d7447be4a9d&queue_guid=pdf-6e9466501393cfbb32b1ec80498a1dfa"

Réponses

Statut: 200Document envoyé ou déjà envoyé. Le statut final de livraison par Peppol peut prendre quelques minutes, car le traitement interne se poursuit après la demande.
JSON
{ "success": true, "message": "Facture de vente envoyée à Peppol avec succès.", "supplier_id": "ed751d5a-661e-4f6e-9d74-2d7447be4a9d", "queue_guid": "pdf-6e9466501393cfbb32b1ec80498a1dfa", "peppox_document_guid": "0e8b3c9d-1111-4444-9999-aabbccddeeff", "document_type_code": "380", "document_type_label": "Facture de vente", "network": "production", "send_status": "sent", "payment_reference": "INV-2025-001", "buyer": { "name": "Customer Company", "vat_id": "BE0123456789", "company_id": "0123456789", "street": "Customer Street 1", "city": "Brussels", "postal": "1000", "country": "BE", "phone": "+32123456789", "email": "customer@example.com" }, "steps": { "document_create": "ok", "document_lines": "ok", "pdf_attachment": "ok", "xml_generate": "ok" }, "peppox_responses": { "invoice_add": { "ok": true, "invoice_guid": "0e8b3c9d-1111-4444-9999-aabbccddeeff", "status": "DRAFT" }, "xml_generate": { "ok": true, "status": "XML_BUILT", "xml_path": "created" } } }
Statut: 400Le document ne peut pas être envoyé. Il est possible qu'il n'ait pas pu être analysé, qu'il n'ait pas été confirmé, qu'il soit déjà en cours d'envoi, que des données soient manquantes ou que l'API Peppox ait renvoyé une erreur.
Statut: 405Méthode non autorisée.

Webhooks

Aucun webhook documenté.

SDK

Aucun SDK répertorié.

Catalogue d'erreurs

Aucune erreur définie.

Journal des modifications

Aucune sortie pour le moment.