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).
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’
iddans la réponse et conservez-le dans votre environnement pour les futures requêtes de cette entreprise.
- Guide Accounts : https://developer.b2brouter.net/docs/accounts_guide
- Setting Up Your Company : https://www.b2brouter.net/docs/#/en/set-up/setting-up-your-company
- Guide Schemes : https://developer.b2brouter.net/docs/schemes_guide#/
- Référence API : https://developer.b2brouter.net/reference/create-account#/
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]”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}" } }'- Guide Transports : https://developer.b2brouter.net/docs/transports_guide/
- Référence API : https://developer.b2brouter.net/reference/create-transport/
Activer Tax Report [REQUIRED ES & IT cases]
Section titled “Activer Tax Report [REQUIRED ES & IT cases]”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" } }'- Guide Tax Reports : https://developer.b2brouter.net/docs/tax_report_settings_guide
- Référence API : https://developer.b2brouter.net/reference/create-tax-report-setting#/
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.
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'- Référence API : https://developer.b2brouter.net/reference/get-accounts#/
É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.
Rechercher des contacts [Optionnel]
Section titled “Rechercher des contacts [Optionnel]”S’il existe déjà, vous pouvez passer directement à l’étape 4) en récupérant l’id.
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'- Référence API : https://developer.b2brouter.net/reference/get-contacts#/
Rechercher dans l’annuaire [Optionnel]
Section titled “Rechercher dans l’annuaire [Optionnel]”S’il existe, vous pouvez utiliser les données pour créer votre contact.
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'- Guide Directory : https://developer.b2brouter.net/docs/directory#/
- Référence API : https://developer.b2brouter.net/reference/lookup-directory-by-country#/
Créer un contact [Optionnel]
Section titled “Créer un contact [Optionnel]”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.
- Guide Schemes : https://developer.b2brouter.net/docs/schemes_guide#/
- Référence API : https://developer.b2brouter.net/reference/create-contact#/
- Référence API Transport Types : https://developer.b2brouter.net/reference/get-transport-types#/
- Référence API Document Types : https://developer.b2brouter.net/reference/get-document-types#/
- Référence API Schemes : https://developer.b2brouter.net/reference/get-schemes#/
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.
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 (exemple Peppol) : https://developer.b2brouter.net/docs/send_an_invoice_through_peppol_via_json_payload#/
- Guide Invoice Calculation : https://developer.b2brouter.net/docs/invoice_calculation#/
- Guide Payment Methods : https://developer.b2brouter.net/docs/payment_method_guide#/
- Référence API : https://developer.b2brouter.net/reference/create-invoice#/
- Référence API Import XML : https://developer.b2brouter.net/reference/import-invoice#/
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.
Lister les factures
Section titled “Lister les factures”Pour récupérer les factures les plus récentes en JSON :
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'Obtenir une facture
Section titled “Obtenir une facture”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) :
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 :
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 :
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#/
Passer en production
Section titled “Passer en production”- Inscrivez-vous (si ce n’est pas encore fait) sur https://app.b2brouter.net/en/register
- Une fois connecté, allez dans Subscription et souscrivez à eDocExchange au mois selon le volume approximatif de transactions.
- 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.netet 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.
- Depuis sandbox : remplacez la clé
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.
Bonnes pratiques
Section titled “Bonnes pratiques”- 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.
Guides recommandés pour commencer
Section titled “Guides recommandés pour commencer”- Accounts (create/list/update) : https://developer.b2brouter.net/docs/accounts_guide
- Directory (lookup, schemes, routes public sector comme 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 (méthodes/valeurs standard, ex. virement bancaire, prélèvement …) : https://developer.b2brouter.net/docs/payment_method_guide#/
- Comportements spécifiques à certains pays (TicketBAI, SDI, VERI*FACTU …) :
- Italy SDI (FatturaPA 1.3.2, champs et règles) : https://developer.b2brouter.net/docs/send_an_invoice_through_sdi#/
- VERI*FACTU (AEAT, exigences et FAQ) : https://developer.b2brouter.net/docs/verifactu#/
- TicketBAI (concepts et obligations) : https://developer.b2brouter.net/docs/ticketbai#/
Manuel utilisateur
Section titled “Manuel utilisateur”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
C’est parti !
Section titled “C’est parti !”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 !