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 /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.

Webhooks

Aucun webhook documenté.

SDK

Aucun SDK répertorié.

Catalogue d'erreurs

Aucune erreur définie.

Journal des modifications

Aucune sortie pour le moment.