Recevoir une facture self-billing via l'API

Recevoir des documents self-billing : capabilities SMP et flux de traitement.

En tant que fournisseur, vous recevez des factures self-billing de vos acheteurs. L'acheteur établit la facture en votre nom et l'envoie via le réseau Peppol. Cet article décrit l'enregistrement nécessaire et le traitement des documents reçus.

Comment arrivent les factures self-billing ?

Les factures self-billing sont livrées de la même manière que les factures d'achat standard. Le PSB envoie une notification webhook et vous pouvez télécharger le document via l'endpoint PurchaseInvoice. La différence réside dans l'enregistrement et le type de document.

Le flux de réception :

  1. L'acheteur envoie une facture self-billing (InvoiceTypeCode 389) via le PSB
  2. Le réseau Peppol route le document vers votre Access Point
  3. Le PSB envoie un événement InvoiceReceived à votre webhook
  4. Vous téléchargez et traitez le document
Enregistrement SMP

Pour pouvoir recevoir des factures self-billing, votre organisation doit être enregistrée dans le Peppol SMP. L'enregistrement nécessaire dépend de la variante :

Variante NLCIUS

Si vous êtes déjà enregistré pour la réception de factures NLCIUS standard, vous n'avez rien à faire de plus. Les factures self-billing avec InvoiceTypeCode 389 sont livrées via le même profil. Le PSB reconnaît automatiquement le type de document.

BIS Self-Billing 3.0

Pour le profil BIS Self-Billing 3.0, un enregistrement séparé est nécessaire. Ce profil a ses propres CustomizationID et ProfileID, et nécessite une configuration SMP spécifique.

Configurez la capability self-billing via l'API Peppol config :

PUT /api/v1/peppol/config HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Content-Type: application/json

{
  "selfBilling": {
    "state": "on"
  }
}

Sans cet enregistrement, les acheteurs utilisant le profil BIS Self-Billing 3.0 ne peuvent pas vous trouver via un lookup Peppol SMP.

Configurer le webhook

Utilisez le même topic que pour les factures d'achat standard :

{
  "action": "https://mijn-systeem.nl/webhook/invoices#mijnSecretKey",
  "topics": ["InvoiceReceived"]
}

Les factures self-billing arrivent sous forme d'événements InvoiceReceived. Vous pouvez les distinguer des factures standard en vérifiant le InvoiceTypeCode dans le document XML : 389 pour une facture self-billing, 261 pour une note de crédit self-billing.

Télécharger et traiter le document

Téléchargez le document de la même manière qu'une facture d'achat standard :

GET /api/v1/{partyId}/purchaseInvoice/{documentId}/download HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}

Optionnellement, vous pouvez demander le document dans un autre format avec targetDocumentTypeId si votre système le requiert.

Reconnaître une facture self-billing

Après le téléchargement, vous pouvez vérifier dans le document XML s'il s'agit d'une facture self-billing :

<!-- InvoiceTypeCode 389 = self-billing factuur -->
<InvoiceTypeCode>389</InvoiceTypeCode>

<!-- InvoiceTypeCode 261 = self-billing creditnota -->
<InvoiceTypeCode>261</InvoiceTypeCode>

Dans une facture self-billing, l'AccountingSupplierParty est votre organisation (le fournisseur), tandis que l'AccountingCustomerParty est l'acheteur qui a établi la facture.

Renvoyer un Invoice Response

Après réception, vous pouvez renvoyer un Invoice Response à l'acheteur pour confirmer le traitement ou rejeter la facture. Le flux est identique à celui des factures standard :

POST /api/v1/{partyId}/purchaseInvoice/{documentId}/response HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Content-Type: application/json

{
  "status": "AP",
  "clarificationCode": "NON",
  "actionCode": "NOA"
}

Voir Envoyer un Invoice Response pour l'aperçu complet des codes de statut et codes de clarification.

Rétention

Les règles de rétention pour les documents self-billing sont les mêmes que pour les factures d'achat standard : conservés 90 jours après réception, 7 jours après téléchargement. Récupérez les documents en temps voulu et stockez-les dans votre propre système.

Questions fréquentes
Ai-je besoin de webhooks séparés pour le self-billing ?

Non, le self-billing utilise le même topic que les factures d'achat classiques : InvoiceReceived. Vous distinguez le self-billing dans votre traitement en lisant le InvoiceTypeCode dans le XML (389 pour facture, 261 pour avoir).

Quel enregistrement SMP me faut-il pour NLCIUS versus BIS Self-Billing 3.0 ?

Si vous recevez déjà des factures d'achat NLCIUS, cet enregistrement couvre également le self-billing NLCIUS avec les codes 389 ou 261. Pour BIS Self-Billing 3.0, une capability séparée est nécessaire ; définissez selfBilling.state sur on via PUT /api/v1/peppol/config, sinon les acheteurs ne vous trouvent pas pour ce profil dans le SMP.

Comment télécharger une facture self-billing reçue et puis-je modifier le format ?

Utilisez GET /api/v1/{partyId}/purchaseInvoice/{documentId}/download comme pour toute facture d'achat. Avec le paramètre de requête targetDocumentTypeId, vous pouvez demander un format cible différent si votre système back-end l'exige. Après le téléchargement, vérifiez dans le XML quelle partie est le fournisseur et laquelle est l'acheteur selon AccountingSupplierParty et AccountingCustomerParty.


Que vous receviez en tant que fournisseur des factures NLCIUS ou BIS Self-Billing 3.0 dépend de ce que l'acheteur envoie. Assurez-vous d'avoir le bon enregistrement SMP pour les variantes que vos acheteurs utilisent. En cas de doute : enregistrez-vous pour les deux.

Consulter la documentation API