Authentifizierung
Typ
APIKEY — API-Schlüssel
Standort
Abfrage / Parameter:
API-SchlüsselFallback über Query-/Body-Parameter "apikey"
GET https://api.peppox.com//sendsms/?apikey=YOUR_API_KEY
Rechnungsverwaltung
/Rechnung/hinzufügen
• Methoden:
POST
Fügen Sie einen Kopf für eine Verkaufsrechnung hinzu.
Erstellt einen neuen Rechnungskopf im Entwurfsstatus. Der Endpunkt erfasst alle Lieferanten- und Kundeninformationen, Ausstellungsdaten, Zahlungsbedingungen und Lieferdetails. Lieferantendaten werden automatisch aus Ihrer API-Schlüsselregistrierung (customer_api) geladen.
POST
/Rechnung/hinzufügen
• Rate: 60 Anfragen/Minute
• Authentifizierung erforderlich
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
API-Schlüssel |
Zeichenkette | Ja | Ihr Peppox-API-Schlüssel (aus Ihrem registrierten Lieferantenkonto). | ||
Netzwerk |
Zeichenkette | NEIN | Optionale Netzwerkkennung (standardmäßig Peppol). | ||
inv_id |
Zeichenkette | NEIN | Optionale interne Rechnungsnummer. | ||
Ausgabedatum |
Zeichenkette | Ja | Rechnungsdatum (JJJJ-MM-TT). | ||
Fälligkeitsdatum |
Zeichenkette | NEIN | Fälligkeitsdatum der Rechnung (JJJJ-MM-TT). | ||
Rechnungsartcode |
Zeichenkette | NEIN | 380 | Peppol-Rechnungstypcode (z. B. 380 = Rechnung, 381 = Gutschrift). | |
Währung |
Zeichenkette | NEIN | EUR | ISO-Währungscode. | |
Buchhaltungskosten |
Zeichenkette | NEIN | Verweis auf interne Buchhaltungscodes. | ||
Käuferreferenz |
Zeichenkette | NEIN | Käuferreferenz / Bestellnummer. | ||
payment.means_code |
Zeichenkette | NEIN | 1 | Zahlungsmittel (Peppol-Codeliste). | |
payment.payment_id |
Zeichenkette | NEIN | Zahlungsidentifikationsnummer / Referenznummer. | ||
payment.iban |
Zeichenkette | NEIN | IBAN des Zahlungsempfängers. | ||
Zahlungskontoname |
Zeichenkette | NEIN | Name des Kontoinhabers des Zahlungsempfängers. | ||
payment.bic |
Zeichenkette | NEIN | BIC/SWIFT-Code des Zahlungsempfängers. | ||
Zahlungsbedingungen |
Zeichenkette | NEIN | Zahlungsbedingungen. | ||
Liefertermin |
Zeichenkette | NEIN | Liefertermin. | ||
Lieferortschema |
Zeichenkette | NEIN | 0088 | Kennung des Lieferortsystems. | |
Lieferort-ID |
Zeichenkette | NEIN | Lieferort-ID. | ||
delivery.street |
Zeichenkette | NEIN | Lieferadresse Straße. | ||
Lieferstadt |
Zeichenkette | NEIN | Lieferadresse Stadt. | ||
Lieferung.post |
Zeichenkette | NEIN | Postleitzahl der Lieferadresse. | ||
Lieferland |
Zeichenkette | NEIN | Ländercode der Lieferadresse. | ||
Name der Lieferpartei |
Zeichenkette | NEIN | Name des Zustellers. | ||
customer.endpoint_scheme |
Zeichenkette | NEIN | 0208 | Kunden-Peppol-Programm-ID. | |
customer.endpoint_id |
Zeichenkette | NEIN | Peppol-Teilnehmer-ID des Kunden. | ||
Kundenname |
Zeichenkette | NEIN | Kundenname. | ||
customer.street |
Zeichenkette | NEIN | Kundenstraße. | ||
Kunde.Stadt |
Zeichenkette | NEIN | Kundenstadt. | ||
customer.postal |
Zeichenkette | NEIN | Postleitzahl des Kunden. | ||
Kunde.Land |
Zeichenkette | NEIN | Kundenländercode. | ||
Kunden-Umsatzsteuer-Identifikationsnummer |
Zeichenkette | NEIN | Umsatzsteuer-Identifikationsnummer des Kunden. | ||
customer.company_id_scheme |
Zeichenkette | NEIN | 0208 | Kunden-Firmen-ID-System. | |
Kunden-Firmen-ID |
Zeichenkette | NEIN | Firmen-ID des Kunden (nationale Nummer). | ||
Kundentelefon |
Zeichenkette | NEIN | Telefonnummer des Kundendienstes. | ||
Kunden-E-Mail |
Zeichenkette | NEIN | E-Mail-Adresse des Kundenkontakts. |
Beispiele anfordern
CURL
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" } }"
Antworten
Status: 200 — Rechnung erfolgreich erstellt (Entwurf).
JSON
{ "ok": true, "invoice_guid": "inv-8c3b4a99-2025-10-17", "status": "DRAFT" }
Status: 400 — Ungültige oder fehlende Felder.
Status: 401 — Ungültiger oder abgelaufener API-Schlüssel.
Status: 500 — Interner Server- oder Datenbankfehler.
/invoice_line/add
• Methoden:
POST
Fügen Sie einer bestehenden Rechnung eine Rechnungsposition hinzu.
Fügt einer bestehenden Rechnung (identifiziert durch invoice_guid) eine neue Zeile hinzu. Unterstützt Einheit, Menge, Preis, Mehrwertsteuerkategorie und Produktidentifikationscodes.
POST
/invoice_line/add
• Rate: 60 Anfragen/Minute
• Authentifizierung erforderlich
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
API-Schlüssel |
Zeichenkette | Ja | Ihr Peppox-API-Schlüssel (zur Authentifizierung erforderlich). | ||
Rechnungs-GUID |
Zeichenkette | Ja | Die eindeutige Rechnungs-GUID, die von /invoice/add zurückgegeben wird. | ||
Zeilen-ID |
Zeichenkette | NEIN | Optionale interne Leitungskennung (standardmäßig generierte GUID). | ||
Menge |
Nummer | Ja | Menge des Artikels oder der Dienstleistung. | ||
Einheitencode |
Zeichenkette | NEIN | Einheitencode gemäß UNECE Rec 20 (z. B. H87 für „Stück“). | ||
Preisbetrag |
Nummer | Ja | Preis pro Einheit (ohne Steuern). | ||
Artikelbeschreibung |
Zeichenkette | NEIN | Beschreibung des Artikels oder der Dienstleistung. | ||
Artikelname |
Zeichenkette | NEIN | Artikelname oder -titel. | ||
Verkäufer-Artikel-ID |
Zeichenkette | NEIN | Interne Artikel-ID oder SKU des Verkäufers. | ||
std_item_id_scheme |
Zeichenkette | NEIN | 0088 | Standard-Schema-ID zur Artikelidentifizierung (z. B. GTIN). | |
std_item_id |
Zeichenkette | NEIN | Standardisierte Artikel-ID (GTIN, EAN usw.). | ||
Herkunftsland |
Zeichenkette | NEIN | Ursprungsland (ISO 3166-1 alpha-2). | ||
Steuerkategorie |
Zeichenkette | NEIN | Umsatzsteuerkategoriecode (z. B. S, Z, AE). | ||
Steuerprozent |
Nummer | NEIN | Mehrwertsteuersatz in Prozent (z. B. 21,00). |
Beispiele anfordern
CURL
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": "Consulting service", "tax_percent": 21 }"
Antworten
Status: 200 — Rechnungsposition erfolgreich hinzugefügt.
JSON
{ "ok": true, "line_guid": "line-2b4fa3c1-2025-10-17" }
Status: 400 — Ungültige Parameter (fehlende invoice_guid oder ungültige numerische Felder).
Status: 401 — Ungültiger oder abgelaufener API-Schlüssel.
Status: 500 — Interner Datenbank- oder Serverfehler.
/invoice_attach_pdf/add
• Methoden:
POST
Fügen Sie einer bestehenden Rechnung eine PDF-Datei bei.
Fügt einer bestehenden Rechnung, die durch invoice_guid identifiziert wird, ein PDF-Dokument (per Upload, Base64 oder Remote-URL) hinzu. Pro Rechnung wird nur ein Anhang gespeichert; alle vorherigen Dateien werden überschrieben.
POST
/invoice_attach_pdf/add
• Rate: 30 Anfragen/Minute
• Authentifizierung erforderlich
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
API-Schlüssel |
Zeichenkette | Ja | Ihr Peppox-API-Schlüssel (Authentifizierung). | ||
Rechnungs-GUID |
Zeichenkette | Ja | Die GUID der Rechnung, an die die PDF-Datei angehängt werden soll. | ||
doc_id |
Zeichenkette | NEIN | Optionale Dokumentenkennung (standardmäßig Rechnungs-ID oder eine generierte UUID). | ||
Dateiname |
Zeichenkette | NEIN | attachment.pdf | Name der Anlagedatei (z. B. invoice.pdf). | |
Mime |
Zeichenkette | NEIN | application/pdf | MIME-Typ der Datei. | |
content_base64 |
Zeichenkette | NEIN | PDF-Inhalte als Base64-Zeichenkette. Akzeptiert das Daten-URI-Format. | ||
Datei-URL |
Zeichenkette | NEIN | Remote-HTTPS-URL einer PDF-Datei zum Herunterladen und Anhängen. | ||
Datei |
Datei | NEIN | Datei-Upload-Feld (multipart/form-data). |
Beispiele anfordern
CURL
CURL
CURL
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"
Antworten
Status: 200 — Die PDF-Datei wurde erfolgreich an die Rechnung angehängt.
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 }
Status: 400 — Ungültige Parameter oder fehlender Inhalt (keine Base64-Kodierung, Datei oder URL).
Status: 401 — Ungültiger oder abgelaufener API-Schlüssel.
Status: 404 — Rechnung nicht gefunden.
Status: 500 — Interner Server- oder Datenbankfehler.
XML-Generierung
/xml/generate
• Methoden:
POST
Erstellen Sie eine UBL-XML-Datei für eine Rechnung oder Gutschrift.
Kombiniert Rechnungs-/Gutschriftskopf, Positionen und gegebenenfalls angehängte PDF-Dateien zu einem Peppol-konformen UBL 3.0-XML-Dokument. Gibt den lokalen Pfad zur generierten Datei zurück und aktualisiert den Rechnungs-/Gutschriftsstatus auf XML_BUILT.
POST
/xml/generate
• Rate: 30 Anfragen/Minute
• Authentifizierung erforderlich
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
API-Schlüssel |
Zeichenkette | Ja | Ihr Peppox-API-Schlüssel zur Authentifizierung. | ||
Rechnungs-GUID |
Zeichenkette | Ja | Die eindeutige Kennung der Rechnung, die in XML konvertiert werden soll. | ||
Leitfaden |
Zeichenkette | NEIN | Alternativer Schlüssel für invoice_guid. |
Beispiele anfordern
CURL
PYTHON
curl -X POST "https://api.peppox.com/xml/generate/" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d "{ "invoice_guid": "inv-8c3b4a99-2025-10-17" }"
Antworten
Status: 200 — XML wurde erfolgreich generiert und auf dem Server gespeichert.
JSON
{ "ok": true, "status": "XML_BUILT", "xml_path": "/var/www/vhosts/peppox.com/httpdocs/invoices_xml/inv-8c3b4a99-2025-10-17.xml" }
Status: 400 — Fehlende invoice_guid oder Rechnungspositionen.
Status: 401 — Ungültiger oder abgelaufener API-Schlüssel.
Status: 404 — Rechnung nicht gefunden.
Status: 500 — Interner XML-Generierungs- oder Schreibfehler.
Gutschriften
/creditnote/add
• Methoden:
POST
Fügen Sie eine Gutschriftsüberschrift hinzu
Erstellt einen neuen Gutschriftskopf im Entwurfsstatus. Lieferantendaten werden automatisch aus dem API-Schlüsselkonto geladen, während Kunden-, Zahlungs- und Lieferfelder aus der Anfrage übernommen werden.
POST
/creditnote/add
• Rate: 60 Anfragen/Minute
• Authentifizierung erforderlich
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
API-Schlüssel |
Zeichenkette | Ja | Ihr Peppox-API-Schlüssel. | ||
Netzwerk |
Zeichenkette | NEIN | Optionale Netzwerk-Kennung. | ||
Gutschrift-ID |
Zeichenkette | NEIN | Bevorzugte Gutschriftsnummer/Kennung. | ||
cn_id |
Zeichenkette | NEIN | Alternativer Alias für die Gutschrifts-ID. | ||
Gutschrift-ID |
Zeichenkette | NEIN | Alternativer Alias für die Gutschrifts-ID. | ||
inv_id |
Zeichenkette | NEIN | Alternativer Legacy-Identifikator. | ||
Ausgabedatum |
Zeichenkette | Ja | Ausstellungsdatum der Gutschrift (JJJJ-MM-TT). | ||
Fälligkeitsdatum |
Zeichenkette | NEIN | Fälligkeitsdatum (JJJJ-MM-TT). | ||
Rechnungsartcode |
Zeichenkette | NEIN | 381 | Dokumenttypcode. Standardwert: 381 = Gutschrift. | |
Währung |
Zeichenkette | NEIN | EUR | ISO-Währungscode. | |
Buchhaltungskosten |
Zeichenkette | NEIN | Interne Buchhaltungsreferenz. | ||
Käuferreferenz |
Zeichenkette | NEIN | Käuferreferenz / Kundenbestellreferenz. | ||
payment.means_code |
Zeichenkette | NEIN | 1 | Zahlungsmittelcode. | |
payment.payment_id |
Zeichenkette | NEIN | Zahlungsreferenz. | ||
payment.iban |
Zeichenkette | NEIN | IBAN des Zahlungsempfängers. | ||
Zahlungskontoname |
Zeichenkette | NEIN | Name des Zahlungsempfängerkontos. | ||
payment.bic |
Zeichenkette | NEIN | Zahlungsempfänger-BIC / SWIFT. | ||
Zahlungsbedingungen |
Zeichenkette | NEIN | Zahlungsbedingungen. | ||
Liefertermin |
Zeichenkette | NEIN | Liefertermin. | ||
Lieferortschema |
Zeichenkette | NEIN | 0088 | Lieferortschema. | |
Lieferort-ID |
Zeichenkette | NEIN | Lieferortkennung. | ||
delivery.street |
Zeichenkette | NEIN | Lieferstraße. | ||
Lieferstadt |
Zeichenkette | NEIN | Lieferort. | ||
Lieferung.post |
Zeichenkette | NEIN | Lieferpostleitzahl. | ||
Lieferland |
Zeichenkette | NEIN | Lieferlandcode. | ||
Name der Lieferpartei |
Zeichenkette | NEIN | Name des Zustellers. | ||
supplier.endpoint_scheme |
Zeichenkette | NEIN | 0208 | Lieferanten-Endpunktschema. Lieferantenwerte werden andernfalls aus dem API-Konto geladen. | |
customer.endpoint_scheme |
Zeichenkette | NEIN | 0208 | Kundenendpunktschema. | |
customer.endpoint_id |
Zeichenkette | NEIN | Kundenendpunkt-ID. | ||
Kundenname |
Zeichenkette | NEIN | Firmenname des Kunden. | ||
customer.street |
Zeichenkette | NEIN | Kundenstraße. | ||
Kunde.Stadt |
Zeichenkette | NEIN | Kundenstadt. | ||
customer.postal |
Zeichenkette | NEIN | Postleitzahl des Kunden. | ||
Kunde.Land |
Zeichenkette | NEIN | Kundenländercode. | ||
Kunden-Umsatzsteuer-Identifikationsnummer |
Zeichenkette | NEIN | Umsatzsteuer-Identifikationsnummer des Kunden. | ||
customer.company_id_scheme |
Zeichenkette | NEIN | 0208 | Kunden-Firmen-ID-System. | |
Kunden-Firmen-ID |
Zeichenkette | NEIN | Kunden-Firmen-ID. | ||
Kundentelefon |
Zeichenkette | NEIN | Kundentelefon. | ||
Kunden-E-Mail |
Zeichenkette | NEIN | Kunden-E-Mail. |
Beispiele anfordern
CURL
PYTHON
curl -X POST "https://api.peppox.com/creditnote/add/" -H "Authorization: Bearer YOUR_API_KEY" -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" } }"
Antworten
Status: 200 — Gutschrift erfolgreich erstellt.
JSON
{ "ok": true, "invoice_guid": "cn-8c3b4a99-2025-10-17", "document_type": "CREDIT_NOTE", "status": "DRAFT" }
Status: 400 — Ungültige oder fehlende Felder.
Status: 401 — Ungültiger oder abgelaufener API-Schlüssel.
Status: 500 — Interner Server- oder Datenbankfehler.
/creditnote_line/add
• Methoden:
POST
Fügen Sie eine Gutschriftszeile hinzu.
Fügt einer bestehenden Gutschrift eine Zeile hinzu. Akzeptiert automatisch Aliase für creditnote_guid und berechnet die Steuerkategorie aus dem Steuersatz, sofern möglich.
POST
/creditnote_line/add
• Rate: 60 Anfragen/Minute
• Authentifizierung erforderlich
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
API-Schlüssel |
Zeichenkette | Ja | Ihr Peppox-API-Schlüssel. | ||
Gutschrifts-GUID |
Zeichenkette | Ja | Die Ziel-Gutschrift-GUID. | ||
Rechnungs-GUID |
Zeichenkette | NEIN | Alias für creditnote_guid. | ||
Leitfaden |
Zeichenkette | NEIN | Alias für creditnote_guid. | ||
Zeilen-ID |
Zeichenkette | NEIN | Optionale interne Leitungskennung. | ||
Auftragszeilen-ID |
Zeichenkette | NEIN | Alias für line_id. | ||
Menge |
Nummer | Ja | Zeilenanzahl. | ||
Menge |
Nummer | NEIN | Alias für Menge. | ||
Q |
Nummer | NEIN | Alias für Menge. | ||
Einheitencode |
Zeichenkette | NEIN | Gerätecode. | ||
Einheit |
Zeichenkette | NEIN | Alias für unit_code. | ||
u |
Zeichenkette | NEIN | Alias für unit_code. | ||
Preisbetrag |
Nummer | Ja | Stückpreis. | ||
Preis |
Nummer | NEIN | Alias für price_amount. | ||
Einzelpreis |
Nummer | NEIN | Alias für price_amount. | ||
Artikelbeschreibung |
Zeichenkette | NEIN | Linienbeschreibung. | ||
Beschreibung |
Zeichenkette | NEIN | Alias für item_description. | ||
Beschreibung |
Zeichenkette | NEIN | Alias für item_description. | ||
Artikelname |
Zeichenkette | NEIN | Artikelname/Titel. | ||
Name |
Zeichenkette | NEIN | Alias für item_name. | ||
Titel |
Zeichenkette | NEIN | Alias für item_name. | ||
Verkäufer-Artikel-ID |
Zeichenkette | NEIN | Verkäufer-Artikelnummer / SKU. | ||
Verkäufer-ID |
Zeichenkette | NEIN | Alias für seller_item_id. | ||
Artikelnummer |
Zeichenkette | NEIN | Alias für seller_item_id. | ||
std_item_id_scheme |
Zeichenkette | NEIN | 0088 | Standardisiertes Artikelidentifizierungsschema. | |
Standardschema |
Zeichenkette | NEIN | Alias für std_item_id_scheme. | ||
Schema |
Zeichenkette | NEIN | Alias für std_item_id_scheme. | ||
std_item_id |
Zeichenkette | NEIN | Standard-Artikel-ID (EAN, GTIN usw.). | ||
gtin |
Zeichenkette | NEIN | Alias für std_item_id. | ||
Ean |
Zeichenkette | NEIN | Alias für std_item_id. | ||
Herkunftsland |
Zeichenkette | NEIN | Ursprungsland. | ||
Land |
Zeichenkette | NEIN | Alias für origin_country. | ||
Steuerkategorie |
Zeichenkette | NEIN | Umsatzsteuerkategoriecode. Wird je nach Steuersatz automatisch auf S oder Z gesetzt. | ||
Steuerkategorie |
Zeichenkette | NEIN | Alias für tax_category. | ||
Mehrwertsteuerkategorie |
Zeichenkette | NEIN | Alias für tax_category. | ||
Steuerprozent |
Nummer | NEIN | Mehrwertsteuersatz. | ||
Mehrwertsteuersatz |
Nummer | NEIN | Alias für Steuerprozentsatz. | ||
Steuer |
Nummer | NEIN | Alias für Steuerprozentsatz. | ||
Mehrwertsteuer |
Nummer | NEIN | Alias für Steuerprozentsatz. |
Beispiele anfordern
CURL
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": "Returned consulting service", "tax_percent": 21 }"
Antworten
Status: 200 — Gutschriftszeile erfolgreich hinzugefügt.
JSON
{ "ok": true, "line_guid": "line-2b4fa3c1-2025-10-17" }
Status: 400 — Fehlende erforderliche Werte wie creditnote_guid, quantity oder price_amount.
Status: 401 — Ungültiger oder abgelaufener API-Schlüssel.
Status: 500 — Interner Datenbankfehler.
/creditnote_attach_pdf/add
• Methoden:
POST
Fügen Sie einer Gutschrift eine PDF-Datei bei.
Fügt einem bestehenden Gutschriftsbeleg ein PDF-Dokument per Multipart-Upload, Base64-Payload oder Remote-URL hinzu. Der vorherige Anhang wird ersetzt.
POST
/creditnote_attach_pdf/add
• Rate: 30 Anfragen/Minute
• Authentifizierung erforderlich
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
API-Schlüssel |
Zeichenkette | Ja | Ihr Peppox-API-Schlüssel. | ||
Gutschrifts-GUID |
Zeichenkette | Ja | Die Gutschrift-GUID, an die die PDF-Datei angehängt werden soll. | ||
Rechnungs-GUID |
Zeichenkette | NEIN | Alias für creditnote_guid. | ||
Leitfaden |
Zeichenkette | NEIN | Alias für creditnote_guid. | ||
doc_id |
Zeichenkette | NEIN | Optionale Dokumentkennung. Standardmäßig inv_id oder eine generierte UUID. | ||
Dateiname |
Zeichenkette | NEIN | attachment.pdf | Name der Anlagedatei. | |
Mime |
Zeichenkette | NEIN | application/pdf | MIME-Typ des Anhangs. | |
content_base64 |
Zeichenkette | NEIN | PDF-Inhalt als Base64 kodiert. | ||
pdf_base64 |
Zeichenkette | NEIN | Alias für content_base64. | ||
Datei-URL |
Zeichenkette | NEIN | HTTP/HTTPS-URL der herunterzuladenden und anzuhängenden PDF-Datei. | ||
pdf_url |
Zeichenkette | NEIN | Alias für file_url. | ||
Datei |
Datei | NEIN | Mehrteilige hochgeladene Datei. |
Beispiele anfordern
CURL
CURL
CURL
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"
Antworten
Status: 200 — Die PDF-Datei wurde erfolgreich an die Gutschrift angehängt.
JSON
{ "ok": true, "creditnote_guid": "cn-8c3b4a99-2025-10-17", "doc_id": "CN-2025-001", "filename": "creditnote.pdf", "mime": "application/pdf", "size_bytes": 184527 }
Status: 400 — Ungültige Anfrage: Fehlende creditnote_guid, ungültige Base64-Kodierung, ungültige URL oder kein Inhalt angegeben.
Status: 401 — Ungültiger oder abgelaufener API-Schlüssel.
Status: 404 — Gutschrift nicht gefunden.
Status: 500 — Interner Datenbank- oder Dateiverarbeitungsfehler.
Gesendete Dokumente
/doc-sent/header/list
• Methoden:
ERHALTEN
Liste der gesendeten Rechnungskopfzeilen
Zeigt die Kopfzeilen der gesendeten Verkaufsrechnungen eines Lieferanten an. Unterstützt Stichwortsuche, Datumsfilter, Peppol-Statusfilter, lokale Statusfilter, Einbeziehung der Rohdaten, Sortierung und Paginierung.
ERHALTEN
/doc-sent/header/list
• Rate: 300 Anfragen/Minute
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
Lieferanten-ID |
Zeichenkette | Ja | Erforderliche Lieferantenkennung. Dieser Wert entspricht invoices.apikey. | ||
Q |
Zeichenkette | NEIN | Stichwortsuche in den Kopfzeilenfeldern der Rechnung. | ||
Seite |
ganze Zahl | NEIN | 1 | Seitenzahl. | |
pro Seite |
ganze Zahl | NEIN | 300 | Zeilen pro Seite. Maximal: 300. | |
Datum |
Zeichenkette | NEIN | Filter für exaktes Datum im Format JJJJ-MM-TT. | ||
Datum_von |
Zeichenkette | NEIN | Startdatum für den Periodenfilter im Format JJJJ-MM-TT. | ||
Datum bis |
Zeichenkette | NEIN | Enddatum für den Periodenfilter im Format JJJJ-MM-TT. | ||
Datumsfeld |
Zeichenkette | NEIN | gesendet an | Datumsfeld für Datum/Von/Bis. Zulässige Werte: Ausgabedatum, Fälligkeitsdatum, Lieferdatum, XML-Erstellungsdatum, Sendedatum, Erstellungsdatum, Aktualisierungsdatum, Statusdatum (von Peppol). | |
Status von Peppol |
Zeichenkette | NEIN | Filtern Sie nach Peppol-Status. Unterstützt CSV-Werte. | ||
peppol_status |
Zeichenkette | NEIN | Alias für status_from_peppol. | ||
Status |
Zeichenkette | NEIN | Alias für status_from_peppol. | ||
lokaler Status |
Zeichenkette | NEIN | Filtern Sie nach lokalem Rechnungsstatus aus invoices.status. Unterstützt CSV-Werte. | ||
include_raw |
boolescher Wert | NEIN | 0 | Auf 1 setzen, um sent_reply_api und all_response_api in die Antwort aufzunehmen. | |
search_raw |
boolescher Wert | NEIN | 0 | Auf 1 setzen, um sent_reply_api und all_response_api in die Stichwortsuche einzubeziehen. | |
sort_by |
Zeichenkette | NEIN | gesendet an | Sortierspalte. Zulässig: 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. | |
sort_dir |
Zeichenkette | NEIN | BESCHREIBUNG | Sortierrichtung: ASC oder DESC. |
Beispiele anfordern
CURL
CURL
CURL
PYTHON
curl "https://api.peppox.com/doc-sent/header/list/?supplier_id=YOUR_SUPPLIER_ID"
Antworten
Status: 200 — Erfolg – gibt Rechnungskopfdaten mit Filtern, Sortierinformationen, Paginierung und Datenzeilen zurück.
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": "Lieferantenfirma", "s_endpoint_id": "0208:0123456789", "c_name": "Kundenfirma", "c_endpoint_id": "0208-0987654321", "status": "GESENDET", "sent_at": "2025-10-17 14:30:00", "sent_http_code": 200, "network": "peppol", "status_from_peppol": "sent", "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" } ] }
Status: 400 — Die erforderliche Lieferanten-ID fehlt.
Status: 500 — Serverfehler.
/doc-sent/lines/list
• Methoden:
ERHALTEN
Liste der gesendeten Rechnungspositionen
Listet die Positionen einer gesendeten Rechnung anhand von supplier_id und invoice_guid auf. Aus Sicherheitsgründen muss die supplier_id mit invoices.apikey übereinstimmen.
ERHALTEN
/doc-sent/lines/list
• Rate: 300 Anfragen/Minute
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
Lieferanten-ID |
Abfrage | Zeichenkette | Ja | Erforderliche Lieferantenkennung. Dieser Wert muss mit invoices.apikey übereinstimmen. | |
Rechnungs-GUID |
Abfrage | Zeichenkette | Ja | Rechnungs-GUID zur Auflistung der Rechnungspositionen. | |
Q |
Abfrage | Zeichenkette | NEIN | Optionale Stichwortsuche in allen Rechnungspositionen. | |
Seite |
Abfrage | ganze Zahl | NEIN | 1 | Seitenzahl. |
pro Seite |
Abfrage | ganze Zahl | NEIN | 300 | Zeilen pro Seite. Maximal: 300. |
Beispiele anfordern
CURL
CURL
PYTHON
curl "https://api.peppox.com/doc-sent/lines/list/?supplier_id=YOUR_SUPPLIER_ID&invoice_guid=inv-8c3b4a99-2025-10-17"
Antworten
Status: 200 — Erfolg – gibt Metadaten, Filter, Seitennummerierung und Rechnungspositionen der Rechnung zurück.
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": "Beratungsdienst", "item_name": "Beratung", "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 } ] }
Status: 400 — Fehlende Erforderlichkeit: supplier_id oder invoice_guid.
Status: 404 — Rechnung nicht gefunden oder für diese Lieferanten-ID nicht zulässig.
Status: 500 — Serverfehler.
Eingegangene Dokumente
/doc-received/header/list
• Methoden:
ERHALTEN
Liste der erhaltenen Eingangsrechnungsköpfe
Listet die von einem Lieferanten über Peppol empfangenen Eingangsrechnungsköpfe auf. Unterstützt Stichwortsuche, Datumsfilter, Importstatus, Dokumenttypcode, Rohdatenfelder, Sortierung und Paginierung.
ERHALTEN
/doc-received/header/list
• Rate: 300 Anfragen/Minute
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
Lieferanten-ID |
Zeichenkette | Ja | Erforderliche Lieferantenkennung. Dieser Wert entspricht peppox_inbound_purchase_invoices.supplier_id. | ||
Q |
Zeichenkette | NEIN | Stichwortsuche in den Kopfzeilenfeldern der empfangenen Rechnungen. | ||
Seite |
ganze Zahl | NEIN | 1 | Seitenzahl. | |
pro Seite |
ganze Zahl | NEIN | 300 | Zeilen pro Seite. Maximal: 300. | |
Datum |
Zeichenkette | NEIN | Filter für exaktes Datum im Format JJJJ-MM-TT. | ||
Datum_von |
Zeichenkette | NEIN | Startdatum für den Periodenfilter im Format JJJJ-MM-TT. | ||
Datum bis |
Zeichenkette | NEIN | Enddatum für den Periodenfilter im Format JJJJ-MM-TT. | ||
Datumsfeld |
Zeichenkette | NEIN | api_created_at | Datumsfeld für Datum/Von/Bis. Zulässige Werte: api_created_at, issue_date, due_date, tax_point_date, created_at, updated_at. | |
Importstatus |
Zeichenkette | NEIN | Nach Importstatus filtern. Unterstützt CSV-Werte. | ||
Status |
Zeichenkette | NEIN | Alias für import_status. | ||
Dokumenttypcode |
Zeichenkette | NEIN | Filtern Sie nach Dokumenttypcode. Unterstützt CSV-Werte. Beispiel: 380 Rechnung, 381 Gutschrift. | ||
Typcode |
Zeichenkette | NEIN | Alias für document_type_code. | ||
include_raw |
boolescher Wert | NEIN | 0 | Auf 1 setzen, um customization_id, profile_id, xml_without_pdf, api_attributes_json, parser_json und notification_sent_by_email_response einzuschließen. | |
search_raw |
boolescher Wert | NEIN | 0 | Auf 1 setzen, um in Roh-/Langfeldern zu suchen. | |
sort_by |
Zeichenkette | NEIN | api_created_at | Sortierspalte. Zulässig: 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. | |
sort_dir |
Zeichenkette | NEIN | BESCHREIBUNG | Sortierrichtung: ASC oder DESC. |
Beispiele anfordern
CURL
CURL
CURL
PYTHON
curl "https://api.peppox.com/doc-received/header/list/?supplier_id=327c58aa-f3e1-4c56-ae75-327c58916148"
Antworten
Status: 200 — Erfolg – gibt die Kopfzeilen der erhaltenen Einkaufsrechnungen mit Filtern, Sortierung, Paginierung und Datenzeilen zurück.
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": "Rechnung", "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", "currency": "EUR", "buyer_reference": "PO-12345", "order_reference": "ORD-987", "supplier_name": "Lieferantenfirma", "supplier_company_id": "0123456789", "supplier_endpoint_id": "0208:0123456789", "supplier_vat_id": "BE0123456789", "supplier_street": "Lieferantenstraße 1", "supplier_city": "Brüssel", "supplier_zip": "1000", "supplier_country": "BE", "customer_name": "Kundenfirma", "customer_company_id": "0987654321", "customer_endpoint_id": "0208:0987654321", "customer_vat_id": "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" } ] }
Status: 400 — Die erforderliche Lieferanten-ID fehlt.
Status: 500 — Serverfehler.
/doc-received/lines/list
• Methoden:
ERHALTEN
Liste der erhaltenen Posten der Einkaufsrechnung
Listet die Positionen einer empfangenen Einkaufsrechnung anhand von supplier_id und document_id auf. Die document_id ist peppox_inbound_purchase_invoices.flowin_document_id zugeordnet.
ERHALTEN
/doc-received/lines/list
• Rate: 300 Anfragen/Minute
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
Lieferanten-ID |
Zeichenkette | Ja | Erforderliche Lieferantenkennung. | ||
Dokument-ID |
Zeichenkette | Ja | Erforderliche Empfangsdokument-ID. Entspricht flowin_document_id. | ||
Q |
Zeichenkette | NEIN | Stichwortsuche in den Feldern der empfangenen Rechnungszeilen. | ||
Seite |
ganze Zahl | NEIN | 1 | Seitenzahl. | |
pro Seite |
ganze Zahl | NEIN | 300 | Zeilen pro Seite. Maximal: 300. | |
include_raw |
boolescher Wert | NEIN | 0 | Auf 1 setzen, um raw_line_xml und parser_json einzuschließen. | |
search_raw |
boolescher Wert | NEIN | 0 | Auf 1 setzen, um in raw_line_xml und parser_json zu suchen. | |
sort_by |
Zeichenkette | NEIN | Zeilennummer | Sortierspalte. Zulässig: 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. | |
sort_dir |
Zeichenkette | NEIN | ASC | Sortierrichtung: ASC oder DESC. |
Beispiele anfordern
CURL
CURL
CURL
PYTHON
curl "https://api.peppox.com/doc-received/lines/list/?supplier_id=327c58aa-f3e1-4c56-ae75-327c58916148&document_id=e1de8615-ce41-425a-ba88-0b834bf3ccf9"
Antworten
Status: 200 — Erfolg – gibt die Metadaten der empfangenen Rechnung, Filter, Sortierung, Seitennummerierung und Zeilen zurück.
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": "Rechnung", "issue_date": "2025-10-17", "due_date": "2025-11-17", "currency": "EUR", "supplier_name": "Lieferantenfirma", "customer_name": "Kunde Company", "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": "Beratungsdienst", "item_name": "Beratung", "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": "MwSt", "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" } ] }
Status: 400 — Fehlende Erforderlichkeit: supplier_id oder document_id.
Status: 404 — Die empfangene Rechnung wurde für diese Lieferanten-ID/Dokumenten-ID nicht gefunden oder ist nicht zulässig.
Status: 500 — Serverfehler.
PDF zu Peppol
/pdf2peppol/add
• Methoden:
POST
Laden Sie eine PDF-Datei für die Peppol-Umrechnung hoch.
Empfängt ein PDF-Dokument per Datei-Upload, Base64-Kodierung oder URL. Peppox speichert es in der PDF-zu-Peppol-Warteschlange und startet den Konvertierungsprozess. Das Dokument wird nicht sofort an Peppol gesendet, sondern muss zunächst verarbeitet, geprüft und bestätigt werden.
POST
/pdf2peppol/add
• Rate: Standardmäßig 50 PDFs/Monat
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
Lieferanten-ID |
Zeichenkette | Ja | Lieferantenkennung. Akzeptierte Aliase: apikey oder api_key. | ||
pdf_url |
Zeichenkette | NEIN | Öffentliche URL der zu importierenden PDF-Datei. Alias: file_url, document_url, url. | ||
pdf_base64 |
Körper | Zeichenkette | NEIN | PDF-Inhalt in Base64 kodiert. Alias: content_base64, file_base64, document_base64, base64. | |
PDF |
Datei | NEIN | PDF-Datei-Upload. Zulässige Feldnamen: pdf, file, invoice_pdf, document, pdf_file. | ||
Dateiname |
Zeichenkette | NEIN | document.pdf | Ursprünglicher Dateiname. Wird beim Senden von Base64 oder URLs verwendet. | |
Netzwerk |
Zeichenkette | NEIN | Produktion | Peppol-Netzwerk. Zulässig: Produktion oder Integration. Alias: Netzwerk, Umgebung. | |
Dokumenttypcode |
Zeichenkette | NEIN | 380 | Dokumenttyp. 380 = Verkaufsrechnung, 381 = Gutschrift. Aliase: invoice_type_code, document_type, type. |
Beispiele anfordern
CURL
CURL
CURL
curl "https://api.peppox.com/pdf2peppol/add/?supplier_id=de5c7119-0f03-4058-9d3b-9f9520c2a46e&pdf_url=https://peppox.com/invoice2.pdf"
Antworten
Status: 200 — Die PDF-Datei wurde akzeptiert und der Konvertierungswarteschlange hinzugefügt.
JSON
{ "success": true, "message": "PDF-Dokument empfangen. Es wartet nun auf die Verarbeitung.", "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": "Verkaufsrechnung", "network": "production", "pdf_source": "url", "filename": "invoice2.pdf", "monthly_limit": { "limit": 50, "used": 4, "remaining_before_upload": 46 } }
Status: 400 — Ungültige Anfrage, ungültiger Lieferant, ungültiges PDF, Datei zu groß oder monatliches Limit erreicht.
/pdf2peppol/check
• Methoden:
ERHALTEN
PDF-zu-Peppol-Konvertierung prüfen
Gibt den Konvertierungsstatus, die extrahierten Header-Daten, die extrahierten Zeilen, den PDF-Link und die Peppol-Bereitschaftsprüfungen für ein in die Warteschlange gestelltes PDF-Dokument zurück.
ERHALTEN
/pdf2peppol/check
• Rate: 300 Anfragen/Minute
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
Lieferanten-ID |
Zeichenkette | Ja | Lieferantenkennung. Akzeptierte Aliase: apikey oder api_key. | ||
Warteschlangen-GUID |
Zeichenkette | Ja | Die von /pdf2peppol/add zurückgegebene Warteschlangen-GUID. Alias: guid. | ||
PDF herunterladen |
Abfrage | boolescher Wert | NEIN | 0 | Wenn der Wert auf 1 gesetzt ist, wird das ursprüngliche PDF anstelle des JSON zurückgegeben. |
Beispiele anfordern
CURL
CURL
curl "https://api.peppox.com/pdf2peppol/check/?supplier_id=de5c7119-0f03-4058-9d3b-9f9520c2a46e&queue_guid=pdf-6e9466501393cfbb32b1ec80498a1dfa"
Antworten
Status: 200 — Konvertierung erfolgreich geladen.
JSON
{ "success": true, "message": "PDF-zu-Peppol-Konvertierung erfolgreich geladen.", "queue": { "queue_guid": "pdf-6e9466501393cfbb32b1ec80498a1dfa", "supplier_id": "de5c569-0f03-4248-9dae-9f9520c2a477e", "document_type_code": "380", "document_type_label": "Verkaufsrechnung", "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": "Das Dokument muss verifiziert werden, bevor es versendet werden kann." }, "converted_data": { "header": { "document": { "document_number": "INV-2025-001", "document_date": "2025-10-17", "document_type_code": "380", "document_type_label": "Verkaufsrechnung", "currency": "EUR", "peppol_ready": true }, "buyer": { "name": "Kundenfirma", "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": "Beratungsleistung", "quantity": "1", "unit_price": "100.00", "vat_rate": "21" } ] } }
Status: 400 — Ungültige supplier_id, queue_guid oder Konvertierung nicht gefunden.
/pdf2peppol/confirm
• Methoden:
POST
Informationen der konvertierten PDF-Datei bestätigen
Bestätigt die Richtigkeit der extrahierten Rechnungs- oder Gutschriftsinformationen. Diese Bestätigung ist erforderlich, bevor das Dokument an Peppol gesendet werden kann.
POST
/pdf2peppol/confirm
• Rate: 300 Anfragen/Minute
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
Lieferanten-ID |
Zeichenkette | Ja | Lieferantenkennung. Akzeptierte Aliase: apikey oder api_key. | ||
Warteschlangen-GUID |
Zeichenkette | Ja | Die von /pdf2peppol/add zurückgegebene Warteschlangen-GUID. Alias: guid. | ||
bestätigt |
boolescher Wert | NEIN | 1 | Optionales Bestätigungsflag. Der Endpunkt bestätigt das Dokument, wenn alle erforderlichen Peppol-Felder verfügbar sind. |
Beispiele anfordern
CURL
CURL
curl "https://api.peppox.com/pdf2peppol/confirm/?supplier_id=ed751d5a-661e-4f6e-9d74-2d7447be4a9d&queue_guid=pdf-6e9466501393cfbb32b1ec80498a1dfa"
Antworten
Status: 200 — Die Dokumentenprüfung wurde bestätigt und die Dokumente sind versandbereit.
JSON
{ "success": true, "message": "Dokumentenprüfung bestätigt. Das Dokument kann nun an Peppol gesendet werden.", "supplier_id": "ed751d5a-661e-4f6e-9d74-2d7447be4a9d", "queue_guid": "pdf-6e9466501393cfbb32b1ec80498a1dfa", "document_type_code": "380", "document_type_label": "Verkaufsrechnung", "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": [] }
Status: 400 — Das Dokument kann nicht bestätigt werden, da Daten fehlen oder die Konvertierung noch nicht abgeschlossen ist.
/pdf2peppol/send
• Methoden:
POST
Senden Sie das bestätigte PDF-Dokument an Peppol.
Sendet ein bestätigtes PDF an Peppol. Peppox erstellt die Rechnung oder Gutschrift, fügt Positionen hinzu, hängt das Original-PDF an, generiert das Peppol-XML und startet den Versandprozess. Wichtig: Nach dem Aufruf dieses Endpunkts kann es einige Minuten dauern, da mehrere interne Prozesse das Dokument vor der endgültigen Zustellung an Peppol abschließen und validieren.
POST
/pdf2peppol/send
• Rate: 300 Anfragen/Minute
Parameter
| Name | In | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|---|
Lieferanten-ID |
Zeichenkette | Ja | Lieferantenkennung. Akzeptierte Aliase: apikey oder api_key. | ||
Warteschlangen-GUID |
Zeichenkette | Ja | Die von /pdf2peppol/add zurückgegebene Warteschlangen-GUID. Alias: guid. |
Beispiele anfordern
CURL
CURL
curl "https://api.peppox.com/pdf2peppol/send/?supplier_id=ed751d5a-661e-4f6e-9d74-2d7447be4a9d&queue_guid=pdf-6e9466501393cfbb32b1ec80498a1dfa"
Antworten
Status: 200 — Das Dokument wurde gesendet oder ist bereits versendet. Der endgültige Zustellungsstatus von Peppol kann einige Minuten dauern, da die interne Verarbeitung nach der Anfrage fortgesetzt wird.
JSON
{ "success": true, "message": "Verkaufsrechnung erfolgreich an Peppol gesendet.", "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": "Verkaufsrechnung", "network": "production", "send_status": "sent", "payment_reference": "INV-2025-001", "buyer": { "name": "Kundenfirma", "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" } } }
Status: 400 — Das Dokument kann nicht gesendet werden. Möglicherweise wurde es nicht analysiert, nicht bestätigt, wird bereits gesendet, es fehlen Daten oder die Peppox-API hat einen Fehler zurückgegeben.
Status: 405 — Methode nicht zulässig.
Webhooks
Es sind keine Webhooks dokumentiert.
SDKs
Es sind keine SDKs aufgeführt.
Fehlerkatalog
Es wurden keine Fehler definiert.
Änderungsprotokoll
Noch keine Veröffentlichungen.