Erste Schritte
Steuerdaten für Konten konfigurieren [ERFORDERLICH]
Section titled “Steuerdaten für Konten konfigurieren [ERFORDERLICH]”Über die App (Zahnrad-Symbol) oder per API über den Endpunkt /accounts. Erstellen Sie in der Sandbox so viele Konten, wie Sie zum Testen benötigen.
- eDocExchange: Erstellen Sie Konten für Ihre Unternehmen in der App (manuelle Verknüpfung im Bereich „Developers“). Wenn Sie Reseller sind, können Sie das eDocExchange-Provisioning automatisieren, um Ihren Endkunden einen vollständigeren Service anzubieten.
- eDocSync: Erstellen Sie Benutzerkonten per API (POST /accounts).
curl --request POST \ --url https://api-staging.b2brouter.net/accounts \ --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 '{ "account": { "country": "{COUNTRY_CODE}", "tin_value": "{YOUR_TAX_IDENTIFICATION_NUMBER}", "tin_scheme": "{YOUR_TAX_IDENTIFICATION_SCHEME}", "name": "{ENTERPRISE_NAME}", "address": "{YOUR_STREET}", "city": "{YOUR_CITY}", "postalcode": "00000", "email": "{MAIN_EMAIL}" } }'Wenn Sie ein Konto per API erstellen, lesen Sie die
idaus der Antwort aus und speichern Sie sie für zukünftige Requests für dieses Unternehmen in Ihrer Umgebung.
- Accounts Guide: https://developer.b2brouter.net/docs/accounts_guide
- Setting Up Your Company: https://www.b2brouter.net/docs/#/en/set-up/setting-up-your-company
- Schemes Guide: https://developer.b2brouter.net/docs/schemes_guide#/
- API Reference: https://developer.b2brouter.net/reference/create-account#/
Transports aktivieren [Empfohlen: b2brouter, mail & peppol] [Optional] [ERFORDERLICH für Peppol-BE-Fälle]
Section titled “Transports aktivieren [Empfohlen: b2brouter, mail & peppol] [Optional] [ERFORDERLICH für Peppol-BE-Fälle]”curl --request POST \ --url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/transports \ --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 '{ "transport": { "code": "peppol", "enabled": true, "reception": true, "standard_documents": true, "invoice": true, "credit_note": true, "application_response": true, "pin_scheme": "{YOUR_IDENTIFICATION_SCHEME}", "pin_value": "{YOUR_IDENTIFICATION_NUMBER}" } }'- Transports Guide: https://developer.b2brouter.net/docs/transports_guide/
- API Reference: https://developer.b2brouter.net/reference/create-transport/
Tax Report aktivieren [ERFORDERLICH für ES- & IT-Fälle]
Section titled “Tax Report aktivieren [ERFORDERLICH für ES- & IT-Fälle]”curl --request POST \ --url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/tax_report_settings \ --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 '{ "tax_report_setting": { "code": "verifactu", "auto_generate": true, "auto_send": true, "enabled": true, "reason_vat_exempt": "E1", "special_regime_key": "01", "special_regime_key_igic": "01", "reason_no_subject": "N1", "credit_note_code": "R1" } }'- Tax Reports Guide: https://developer.b2brouter.net/docs/tax_report_settings_guide
- API Reference: https://developer.b2brouter.net/reference/create-tax-report-setting#/
Konten auflisten, um die ACCOUNT_ID zu ermitteln [Optional]
Section titled “Konten auflisten, um die ACCOUNT_ID zu ermitteln [Optional]”Wenn Sie die IDs Ihrer Integrationsgruppe noch nicht haben, ist dies der schnellste Weg, sie aufzulisten. Sie können die ID eines Kontos auch im Tab App → Developers kopieren.
curl --request GET \ --url 'https://api-staging.b2brouter.net/accounts?offset=0&limit=25' \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'accept: application/json'- API Reference: https://developer.b2brouter.net/reference/get-accounts#/
Nächster Schritt: Folgen Sie dem End-to-End-Sende-Flow-Guide, um Kontakte zu erstellen, Rechnungen zu erstellen bzw. zu importieren, zu versenden und die finalen Dokumente abzurufen bzw. herunterzuladen.
Kontakte suchen [Optional]
Section titled “Kontakte suchen [Optional]”Wenn ein Kontakt gefunden wird, können Sie direkt zu Schritt 4) springen, indem Sie die id abrufen.
curl --request GET \ --url 'https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/contacts?offset=0&limit=25&name=B2Brouter%20Global%20S.L.' \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'accept: application/json'- API Reference: https://developer.b2brouter.net/reference/get-contacts#/
Im Verzeichnis suchen [Optional]
Section titled “Im Verzeichnis suchen [Optional]”Wenn ein Eintrag existiert, können Sie die Daten verwenden, um Ihren Kontakt zu erstellen.
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'- Directory Guide: https://developer.b2brouter.net/docs/directory#/
- API Reference: https://developer.b2brouter.net/reference/lookup-directory-by-country#/
Kontakt erstellen [Optional]
Section titled “Kontakt erstellen [Optional]”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": { "language": "en", "is_client": true, "is_provider": true, "public_sector": false, "name": "B2Brouter Global S.L.", "tin_value": "ESB63276174", "tin_scheme": "9920", "country": "es", "email": "john.doe@example.com", "address": "Avda. Diagonal, 433 1º1ª", "postalcode": "08036", "province": "Barcelona", "city": "Barcelona", "transport_type_code": "b2brouter", "document_type_code": "xml.facturae.3.2.2", "payment_method": 1 } }'Wenn Sie unsicher sind, welchen tin_scheme, transport_type_code oder document_type_code Sie verwenden sollen, denken Sie daran, die Endpunkte der Code Lists zu verwenden.
- Schemes Guide: https://developer.b2brouter.net/docs/schemes_guide#/
- API Reference: https://developer.b2brouter.net/reference/create-contact#/
- API Reference Transport Types: https://developer.b2brouter.net/reference/get-transport-types#/
- API Reference Document Types: https://developer.b2brouter.net/reference/get-document-types#/
- API Reference Schemes: https://developer.b2brouter.net/reference/get-schemes#/
Eine einfache Rechnung erstellen und versenden [ERFORDERLICH]
Section titled “Eine einfache Rechnung erstellen und versenden [ERFORDERLICH]”Denken Sie daran: Wenn Sie Kontakte nicht in B2Brouter verwalten möchten, können Sie statt contact_id auch ein vollständiges contact-Objekt direkt in die invoice im selben POST /invoices-Request einbetten. In diesem Fall müssen Sie die Kontaktdaten bei jeder Rechnung mitsenden.
Wenn Ihr System bereits ein anerkanntes E-Rechnungs-XML erzeugt, ist die einfachste Integration, dieses direkt zu importieren.
Wenn Sie jedoch Kunden in mehreren Ländern bedienen, ist JSON in der Regel portabler, weil einige Formate länderspezifische Felder haben.
Verwenden Sie GET /document_types, um verfügbare Dokumenttypen zu prüfen.
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 'content-type: application/json' \ --data '{ "send_after_import": true, "invoice": { "type": "IssuedInvoice", "bank_account": { "type": "iban" }, "terms": "custom", "invoice_lines_attributes": [ { "unit": 1, "quantity": 1, "description": "Example Service", "price": 10, "taxes_attributes": [ { "name": "VAT", "category": "S", "percent": 21 } ] } ], "apply_taxes_to_charge": false, "charge_is_reimbursable_expense": false, "number": "123456", "contact_id": {CONTACT.ID}, "date": "2025-09-24", "due_date": "2025-10-24" } }'- Send Invoices via JSON (Peppol example): https://developer.b2brouter.net/docs/send_an_invoice_through_peppol_via_json_payload#/
- Invoice Calculation Guide: https://developer.b2brouter.net/docs/invoice_calculation#/
- Payment Methods Guide: https://developer.b2brouter.net/docs/payment_method_guide#/
- API Reference: https://developer.b2brouter.net/reference/create-invoice#/
- API Reference Import XML: https://developer.b2brouter.net/reference/import-invoice#/
Daten der ausgestellten Rechnung abrufen [OPTIONAL]
Section titled “Daten der ausgestellten Rechnung abrufen [OPTIONAL]”Nach dem Versand können Sie die invoice.id aus der Antwort auslesen und einen GET mit allen Informationen ausführen.
Wenn Sie Tax Report aktiviert haben (ES/IT), können Sie auch die tax_report_id abrufen, um alle Details einzusehen.
Denken Sie daran, dass Sie Webhooks für Statusänderungen konfigurieren können.
Rechnungen auflisten
Section titled “Rechnungen auflisten”Um die neuesten Rechnungen als JSON abzurufen:
curl --request GET \ --url 'https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/invoices?offset=0&limit=25' \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'accept: application/json'Eine Rechnung abrufen
Section titled “Eine Rechnung abrufen”Um eine bestimmte Rechnung als JSON abzurufen (die meisten Felder werden bereits in der Erstellungsantwort zurückgegeben):
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'Eine Rechnung mit einem bestimmten Dokumenttyp abrufen
Section titled “Eine Rechnung mit einem bestimmten Dokumenttyp abrufen”Wenn Sie die aufbereitete elektronische Rechnung in einem bestimmten Format benötigen:
curl --request GET \ --url https://api-staging.b2brouter.net/invoices/{INVOICE_ID}/as/{document_type_code} \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'accept: application/json'Wenn Sie einen GET auf die in der Rechnungslast enthaltene download_legal_url ausführen, können Sie das rechtliche Dokument herunterladen, das an den Endnutzer ausgeliefert wurde (zum erneuten Versand oder zur Archivierung in Ihrem System).
Einen Tax Report abrufen [ES- & IT-FÄLLE]
Section titled “Einen Tax Report abrufen [ES- & IT-FÄLLE]”Rufen Sie alle Details einer Erklärung ab, einschließlich Link und QR:
curl --request GET \ --url https://api-staging.b2brouter.net/tax_reports/{TAX_REPORT_ID} \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'accept: application/json'- Send invoices (end-to-end): https://developer.b2brouter.net/docs/send_invoices_end_to_end#/
In Produktion wechseln
Section titled “In Produktion wechseln”- Registrieren Sie sich (falls noch nicht geschehen) unter https://app.b2brouter.net/en/register
- Gehen Sie nach dem Login zu Subscription und abonnieren Sie eDocExchange monatlich entsprechend dem ungefähren Volumen Ihrer Transaktionen.
- Minimale technische Änderungen für die Migration:
- Von Sandbox: tauschen Sie den
test_-Schlüssel gegen einen Produktionsschlüssel aus. Die Base URL (https://api.b2brouter.net) bleibt gleich. - Von Staging: ändern Sie die Domain von
api-staging.b2brouter.netzuapi.b2brouter.netund verwenden Sie den Produktions-API-Schlüssel. - Aktualisieren Sie die
{ACCOUNT_ID}(falls sie sich zwischen den Umgebungen unterscheiden). - Payload und funktionales Verhalten sind in allen Umgebungen gleich.
- Von Sandbox: tauschen Sie den
Sie müssen nicht die gesamte Integration fertiggestellt haben: Sie können mit dem Basis-Flow in Produktion gehen und haben weiterhin Sandbox (und bei Bedarf Staging), um mit Unterstützung der B2Brouter-Techniker weiterzuentwickeln.
Best Practices
Section titled “Best Practices”- Wenn Sie mehrere Unternehmen verwalten und diese Zugriff auf B2Brouter benötigen, trennen Sie sie aus Datenschutzgründen in Gruppen. (Benutzerverwaltung und Besitz über die Kontoeinstellungen in der App).
- Senden Sie keine echten Rechnungen aus Sandbox oder Staging per E-Mail oder b2brouter an reale Empfänger: Erstellen Sie Testkonten und Kontakte (Sie können interne Sendungen durchführen, um den Empfang mit einer Test-E-Mail zu prüfen).
- Vermeiden Sie die Verwendung echter NIF/Steuer-IDs von Dritten, die Sie nicht integrieren werden.
- Vereinfachen Sie den Prozess: Streben Sie einen sauberen, globalen Flow an; vermeiden Sie unnötige lokale Regeln, wenn Transport und Format diese bereits lösen.
- Priorisieren Sie JSON. Obwohl B2Brouter in die überwiegende Mehrheit globaler Formate konvertieren kann, erlaubt Ihnen die Arbeit mit unserem Basisformat eine globale Rechnungsstellung in allen möglichen Formaten ohne rechtliche Probleme.
Empfohlene Guides für den Einstieg
Section titled “Empfohlene Guides für den Einstieg”- Accounts (create/list/update): https://developer.b2brouter.net/docs/accounts_guide
- Directory (lookup, schemes, public sector routes like DIR3/DIRe): https://developer.b2brouter.net/docs/directory
- Transports (email, Peppol, b2brouter, FACe, SFTP…): https://developer.b2brouter.net/docs/transports_guide
- Tax report settings (TicketBAI, SDI): https://developer.b2brouter.net/docs/tax_report_settings_guide
- Schemes / Identifiers (TIN, CIN, PIN, EAS, …): https://developer.b2brouter.net/docs/schemes_guide#/
- Payments (standard methods/values, e.g., Bank transfer, Direct debit …): https://developer.b2brouter.net/docs/payment_method_guide#/
- Country-specific behaviors (TicketBAI, SDI, VERI*FACTU …):
- Italy SDI (FatturaPA 1.3.2, fields and rules): https://developer.b2brouter.net/docs/send_an_invoice_through_sdi#/
- VERI*FACTU (AEAT, requirements and FAQ): https://developer.b2brouter.net/docs/verifactu#/
- TicketBAI (concepts and obligations): https://developer.b2brouter.net/docs/ticketbai#/
Benutzerhandbuch
Section titled “Benutzerhandbuch”Für Benutzer, die die Webanwendung verwenden müssen, ist unsere Plattform-Dokumentation hier verfügbar:
https://www.b2brouter.net/docs/#/en/README
Los geht’s!
Section titled “Los geht’s!”Denken Sie daran, dass wir Ihnen während des gesamten Prozesses gerne über den Support helfen.
Viel Erfolg bei Ihrer Integration!