Rechnungen senden (End-to-End)
Diese Anleitung zeigt einen klaren API-Ablauf zum Versenden von Rechnungen: Kontakt erstellen oder wiederverwenden, Rechnung erstellen oder importieren, versenden und die endgültigen Dateien abrufen.
Voraussetzungen
Section titled “Voraussetzungen”- API-Schlüssel:
X-B2B-API-Key - API-Version:
X-B2B-API-Version ACCOUNT_ID: das Konto, das die Rechnung ausstellt.
Wichtige IDs:
ACCOUNT_ID: Eigentümerkonto (Pfadparameter in/accounts/{ACCOUNT_ID}/...).CONTACT_ID: Empfängerkontakt (innerhalb des Kontos gespeichert).INVOICE_ID: Rechnungskennung (verwendet in Endpunkten vom Typ/invoices/{INVOICE_ID}...).
1 Empfängerkontakt abrufen oder erstellen
Section titled “1 Empfängerkontakt abrufen oder erstellen”1.1 Kontakte suchen (optional)
Section titled “1.1 Kontakte suchen (optional)”curl --request GET \ --url 'https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/contacts?offset=0&limit=25&name=Example%20Customer' \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'accept: application/json'1.2 Im Verzeichnis suchen (optional)
Section titled “1.2 Im Verzeichnis suchen (optional)”Wenn Sie die Kennung und das Land des Empfängers kennen, können Sie öffentliche Informationen aus dem Verzeichnis abrufen und diese zum Erstellen des Kontakts verwenden.
curl --request GET \ --url https://api-staging.b2brouter.net/directory/es/ESB63276174 \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'accept: application/json'1.3 Einen Kontakt erstellen (falls noch keiner vorhanden ist)
Section titled “1.3 Einen Kontakt erstellen (falls noch keiner vorhanden ist)”curl --request POST \ --url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/contacts \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --data '{ "contact": { "name": "Example Customer", "country": "es", "is_client": true, "email": "billing@example.com", "tin_scheme": "9920", "tin_value": "ESB00000000", "transport_type_code": "b2brouter", "document_type_code": "json" } }'Hinweis: CONTACT_ID wird in der Antwort zurückgegeben. Verwechseln Sie diese nicht mit ACCOUNT_ID.
2 Rechnung erstellen (JSON) oder importieren (XML)
Section titled “2 Rechnung erstellen (JSON) oder importieren (XML)”2.1 Rechnung mit JSON erstellen
Section titled “2.1 Rechnung mit JSON erstellen”curl --request POST \ --url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/invoices \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --data '{ "send_after_import": false, "invoice": { "type": "IssuedInvoice", "contact_id": {CONTACT_ID}, "number": "INV-0001", "date": "2026-01-21", "terms": "custom", "due_date": "2026-02-21", "currency": "EUR", "invoice_lines_attributes": [ { "quantity": 1, "price": 10, "description": "Example service", "taxes_attributes": [ { "name": "VAT", "category": "S", "percent": 21 } ] } ] } }'2.2 Rechnung aus einer Datei importieren (wenn Sie bereits XML erzeugen)
Section titled “2.2 Rechnung aus einer Datei importieren (wenn Sie bereits XML erzeugen)”curl --request POST \ --url 'https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/invoices/import?send_after_import=false' \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'content-type: application/octet-stream' \ --data 'data:text/xml;name=invoice.xml;base64,PD94bWw+Li4u'3 Die Rechnung versenden
Section titled “3 Die Rechnung versenden”curl --request POST \ --url https://api-staging.b2brouter.net/invoices/send_invoice/{INVOICE_ID} \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}'4 Rechnung abrufen und endgültige Dateien herunterladen
Section titled “4 Rechnung abrufen und endgültige Dateien herunterladen”4.1 Rechnungsdaten abrufen
Section titled “4.1 Rechnungsdaten abrufen”curl --request GET \ --url 'https://api-staging.b2brouter.net/invoices/{INVOICE_ID}?include=lines' \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'accept: application/json'4.2 Rechtliche/originale Rechnungsdateien herunterladen
Section titled “4.2 Rechtliche/originale Rechnungsdateien herunterladen”Siehe die Anleitung Rechnungen herunterladen.