Skip to content
Log in

Premiers pas

Configurer les données fiscales des comptes [REQUIRED]

Section titled “Configurer les données fiscales des comptes [REQUIRED]”

Depuis l’application (icône engrenage) ou via l’API à travers l’endpoint /accounts. Créez autant de comptes que nécessaire en sandbox pour les tests.

  • eDocExchange : créez les comptes de vos entreprises dans l’App (liaison manuelle dans la section “Developers”). Si vous êtes revendeur, vous pouvez automatiser le provisionnement eDocExchange afin d’offrir un service plus complet à vos clients finaux.
  • eDocSync : créez les comptes utilisateur via l’API (POST /accounts).
Terminal window
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}"
}
}'

Lorsque vous créez un compte via l’API, lisez l’id dans la réponse et conservez-le dans votre environnement pour les futures requêtes de cette entreprise.

Activer les transports [Recommandé : b2brouter, mail & peppol] [Optionnel] [REQUIRED Peppol BE cases]

Section titled “Activer les transports [Recommandé : b2brouter, mail & peppol] [Optionnel] [REQUIRED Peppol BE cases]”
Terminal window
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}"
}
}'

Activer Tax Report [REQUIRED ES & IT cases]

Section titled “Activer Tax Report [REQUIRED ES & IT cases]”
Terminal window
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"
}
}'

Lister les comptes pour récupérer le ACCOUNT_ID [Optionnel]

Section titled “Lister les comptes pour récupérer le ACCOUNT_ID [Optionnel]”

Si vous n’avez pas déjà les IDs de votre groupe d’intégration, c’est le moyen le plus rapide de les lister. Vous pouvez aussi copier l’ID d’un compte depuis l’onglet App → Developers.

Terminal window
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'

Étape suivante : suivez le guide du flux d’envoi de bout en bout pour créer des contacts, créer/importer des factures, les envoyer et récupérer/télécharger les documents finaux.

S’il existe déjà, vous pouvez passer directement à l’étape 4) en récupérant l’id.

Terminal window
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'

S’il existe, vous pouvez utiliser les données pour créer votre contact.

Terminal window
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'
Terminal window
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
}
}'

Si vous avez un doute sur la valeur à utiliser pour tin_scheme, transport_type_code ou document_type_code, pensez à utiliser les endpoints de Code Lists.

Créer et envoyer une facture simple [REQUIRED]

Section titled “Créer et envoyer une facture simple [REQUIRED]”

N’oubliez pas que si vous ne souhaitez pas gérer les contacts dans B2Brouter, au lieu d’utiliser contact_id, vous pouvez embarquer un objet contact complet à l’intérieur de invoice dans la même requête POST /invoices. Dans ce cas, fournissez les détails du contact sur chaque facture. Si votre système génère déjà un XML de facture électronique reconnu, l’intégration la plus simple consiste à l’importer directement. Cependant, si vous servez des clients dans plusieurs pays, le JSON est généralement plus portable parce que certains formats ont des champs spécifiques à un pays. Utilisez GET /document_types pour vérifier les types de document disponibles.

Terminal window
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"
}
}'

Récupérer les données de la facture émise [OPTIONAL]

Section titled “Récupérer les données de la facture émise [OPTIONAL]”

Une fois envoyée, vous pouvez récupérer le invoice.id depuis la réponse et effectuer un GET avec toutes les informations. Si vous avez Tax Report activé (ES/IT), vous pouvez également récupérer le tax_report_id pour voir tous les détails. N’oubliez pas que vous pouvez configurer des Webhooks pour les changements d’état.

Pour récupérer les factures les plus récentes en JSON :

Terminal window
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'

Pour récupérer une facture spécifique en JSON (la plupart des champs sont déjà renvoyés dans la réponse de création) :

Terminal window
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'

Obtenir une facture avec un type de document spécifique

Section titled “Obtenir une facture avec un type de document spécifique”

Si vous avez besoin de la facture électronique rendue dans un format particulier :

Terminal window
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'

En effectuant un GET sur le download_legal_url fourni dans le payload de la facture, vous pouvez télécharger le document légal remis à l’utilisateur final (pour le renvoyer ou l’archiver dans votre système).

Obtenir une déclaration fiscale [ES & IT CASES]

Section titled “Obtenir une déclaration fiscale [ES & IT CASES]”

Récupérez tous les détails d’une déclaration, y compris le lien et le QR :

Terminal window
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'

  1. Inscrivez-vous (si ce n’est pas encore fait) sur https://app.b2brouter.net/en/register
  2. Une fois connecté, allez dans Subscription et souscrivez à eDocExchange au mois selon le volume approximatif de transactions.
  3. Modifications techniques minimales pour migrer :
    • Depuis sandbox : remplacez la clé test_ par une clé de production. La base URL (https://api.b2brouter.net) reste la même.
    • Depuis staging : changez le domaine de api-staging.b2brouter.net à api.b2brouter.net et utilisez la clé API de production.
    • Mettez à jour {ACCOUNT_ID} (s’ils diffèrent entre environnements).
    • Le payload et le comportement fonctionnel sont identiques entre environnements.

Vous n’avez pas besoin d’avoir terminé toute l’intégration : vous pouvez passer en production avec le flux de base tout en continuant à disposer du sandbox (et du staging, si nécessaire) pour poursuivre le développement avec l’aide des techniciens B2Brouter.


  • Si vous gérez plusieurs entreprises et qu’elles ont besoin d’accéder à B2Brouter, séparez-les en groupes pour préserver la confidentialité. (Gestion des utilisateurs et propriété depuis les paramètres du compte dans l’application).
  • N’envoyez pas de vraies factures depuis sandbox ou staging par e-mail ou via b2brouter à de vrais destinataires : créez des comptes et contacts de test (vous pouvez faire des envois internes pour vérifier la réception avec un e-mail de test).
  • Évitez d’utiliser les vrais NIF/Tax IDs de tiers que vous n’intégrerez pas.
  • Simplifiez le processus : visez un flux propre et global ; évitez les règles locales inutiles si le transport et le format les résolvent déjà.
  • Priorisez le JSON. Bien que B2Brouter puisse convertir vers la grande majorité des formats mondiaux, travailler avec notre format de base vous permet de facturer globalement dans toutes sortes de formats sans problèmes juridiques.

Pour les utilisateurs qui ont besoin d’utiliser l’application web, la documentation de notre plateforme est disponible ici :

https://www.b2brouter.net/docs/#/en/README

N’oubliez pas que tout au long du processus nous serons ravis de vous aider via le support.

Bonne chance dans votre processus d’intégration !