Skip to content
Log in

Envoyer des factures (de bout en bout)

Ce guide montre un flux API clair pour envoyer des factures : créer ou réutiliser un contact, créer ou importer une facture, l’envoyer, puis récupérer les fichiers finaux.

  • API Key : X-B2B-API-Key
  • API Version : X-B2B-API-Version
  • ACCOUNT_ID : le compte qui émet la facture.

IDs importants :

  • ACCOUNT_ID : compte propriétaire (paramètre de chemin dans /accounts/{ACCOUNT_ID}/...).
  • CONTACT_ID : contact destinataire (stocké dans le compte).
  • INVOICE_ID : identifiant de facture (utilisé dans les endpoints /invoices/{INVOICE_ID}...).

1) Obtenir ou créer le contact destinataire

Section titled “1) Obtenir ou créer le contact destinataire”
Terminal window
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) Recherche dans l’annuaire (optionnel)

Section titled “1.2) Recherche dans l’annuaire (optionnel)”

Si vous connaissez l’identifiant et le pays du destinataire, vous pouvez récupérer des informations publiques depuis l’annuaire et les utiliser pour construire le 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'

1.3) Créer un contact (si vous n’en avez pas)

Section titled “1.3) Créer un contact (si vous n’en avez pas)”
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": {
"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"
}
}'

Remarque : CONTACT_ID est renvoyé dans la réponse. Ne le confondez pas avec ACCOUNT_ID.

2) Créer (JSON) ou importer (XML) la facture

Section titled “2) Créer (JSON) ou importer (XML) la facture”
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 '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) Importer une facture depuis un fichier (lorsque vous générez déjà du XML)

Section titled “2.2) Importer une facture depuis un fichier (lorsque vous générez déjà du XML)”
Terminal window
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'
Terminal window
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) Récupérer la facture et télécharger les fichiers finaux

Section titled “4) Récupérer la facture et télécharger les fichiers finaux”
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'

4.2) Télécharger les fichiers légaux/originaux de la facture

Section titled “4.2) Télécharger les fichiers légaux/originaux de la facture”

Voir le guide Download invoices.